单片机/MCUwilliam hill官网
直播中

zhaosiyang

9年用户 6经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[问答]

STC12C5A60S2的串口通信问题 很奇怪 求帮助

我现在用STC12C5A60S2单片机的串口用RS232和一台自动售货机连接了起来。 但是初始通讯总是建立不起来。初始通讯是自动售货机发送0x05然后单片机回复0x06。然后通讯即建立起来。
在用笔记本电脑的USB转串口连接单片机调试过程完全没有问题。(笔记本电脑发送0x05然后很快就能收到0x06)但是我把串口一接到自动售货机上调试,单片机能收到自动售货机发来的0x05,并且发出0x06,但是自动售货机怎么也收不到0x06,而且MAX232芯片会发热。
说明一点,自动售货机的校验方式是偶校验。我觉得我程序也没有编写错误。
下面是我的部分相关程序
--------------------------以下是初始化串口2--------------------------------------       
       S2CON = 0xd0;             //工作方式3:9位数据位        
        AUXR |= 0x10;
       BRT =256 -(FOSC/32/12/BAUD_VM);  
        IE2 = 0x01;                                        //允许串口2中断

       EA = 1;                        //使能总中断
------------------------------------以下是存放偶校验位0(因为发送的数据是0x06)并发送出去---------------------------------
       S2CON&=0xf7;                       //偶校验写0
       S2BUF=0x06;
--------------------------------------------------------------------------------------------------------------------------------------
我的实验卡在这里很久了,真心希望好心人能帮帮我。万分感谢

回帖(2)

武力戡乱

2015-4-28 20:52:07
笔记本电脑发送0x05然后很快就能收到0x06
说明单片机配置没有问题。对吧!
MAX232芯片会发热。也不是什么大事!数据量特别大!但是就怕你数据端口接错了。
可是呢,你说自动售货机发出的0x05可以被单片机收到!应该排除接错了吧,估计不能把两路穿插开接吧?
这东西估计要靠自己在现成观察现象。而且感觉,你离成功不远了!
举报

Aidaohuakai

2015-4-28 21:31:48
和笔记本电脑通信MAX232会不会发热?如果发热MAX232就没问题,如果不发热,就是电压问题,注意自动售货机的通信电压
举报

更多回帖

发帖
×
20
完善资料,
赚取积分