系统板实现功能:用MAX232实现串口通信
故障现象:上位机给单片机发数据单片机可以识别,但单片机给上位机传数据时上位机却接不到,只有在每次断电的瞬间可以收到断断续续的数据。
查错思路:断电瞬间电压降低至零,这个过程中可以接收到一个数据,怀疑可能是系统板电源供电问题,此时测量MAX232的16脚VCC和15脚地之间的电压,为6~7V,高于5V,再把单片机机开发板的P3.0和P3..1用杜邦线引出来接到此系统板上,然后将两板共地,串口正常通信,再测此时电压,发现为4.8V左右——证实是电源问题。
查错过程:在网上看了很多资料,都说MAX232有两种,MAX232A和MAX232,232A的电容要求大点,我用的是232CPE,没有A,,所以应该用不着大电容,网上还有说推荐用电解点解电容,我之前用的是104的普通电容,断电瞬间的现象是直收到了一组数据,我换成4.7uf的电解电容后,效果还是一样,就是断电瞬间可以收到2~3组数据,我又换成10uf的电解电容,现象还是一样,只不过可以接到多组数据,而问题仍存在,所以怀疑和电容无关。
问题总结:MAX232周围的四个电容大小只是和波特率有关,电容越大,可以得到的波特率越高,用9600传,104的普通电容就可以了。MAX232芯片的工作电压为+5V,过高就不能正常工作,所以只在断电瞬间电压下降的过程中在到达+5V左右时传输了一组数据。
切记:使用元件时一定要注意它正常工作的区域范围。
5/22/2013
|