本文主要是介绍新路程------hi3516a uart1 rs485,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我选用的转换ic 是SN65HVD82 ,控制DE和RE控制输出还是接收是UART1_RTSN/GPIO9_2/UART3_RXD 控制
himm 0x200f0078 0x00
#SET DIR AS OUT
himm 0x201d0400 0x84
#SET DIR AS LOW
himm 0x201d0010 0x00
然后看看uart1的设置是否正常,跑了自己的设置文件,波特率9600(其实无所谓,只要和上位机的波特率相同即可)
然后用microcom /dev/ttyAMA1看是否有数据收到,很遗憾,木有,先看数据寄存器,0x20090000,有数据,再看原始中断寄存器
0x2009003c没有接收中断,真是见鬼了,我花了好几天时间看到底哪里出了问题,因为有时候不经意间会有数据收到,直到后来怀疑别的地方有干扰,也就是别人也同时用了uart1才最有可能出现这种情况
于是我ps看了一下进程
1125 root 0:00 /sbin/getty -L ttyAMA1 9600 vt100果然有人在用
于是我kill 1125 结果发现又跑出来了,于是到etc下面看哪个脚本启动的,在inittab里发现了
::respawn:/sbin/getty -L ttyAMA1 9600 vt100
于是注释了,然后再看,果然就能收发数据了,害的我用万用表,示波器搞了半天
这篇关于新路程------hi3516a uart1 rs485的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!