用2416核心板做的样机,程序是从2440上移植过来的,主要是修改下IO驱动(用于实现WG34读卡器的接口协议,以及开关量输入和输出),今天下午刚移植好,移植的过程还是比较顺利的,主要遇到一个问题,花费我1天的时间才把问题找到,然后解决掉。样机上有2路RS485接口,485的收发控制,我用的是硬件自动控制,也就是TXD通过一个NPN三极管来控制485的收发,问题就出现在这里,向串口1(485接口)里写入数据,同时串口1里莫名其妙又收到同样的数据,我开始以为是 TXD RXD短接了,照成的回环,检查硬件没有短接,怀疑是485芯片问题,重新更换了,还是不行,又怀疑是485芯片批次问题,重新在 以前的老板子上下了一个换上,还是不行,是不是TXD的管脚没有上拉照成的,加个10K上拉,还是不行,快下班前,想到可是 TXD RXD要设置成上拉啊,准备要修改下,一看时间都5点40了(要接老婆下班了),赶紧走了 。昨天下午就是这样过去了,下班回到家还在想,到底是什么问题呢,想不通。今天上午到公司后,找了2440的板子实验下没有问题,同样的电路,同样的程序,2416上有问题,真奇怪了,给RXD加个10K电阻上拉,可以了,收不到写的数据了,赶紧给TXD RXD 在驱动里加个上拉配置,测试OK!哎,松了一口气啊。贴上样机照片
|