新路程------hi3516a的uart rts cts功能

     有位前辈写了以gpio方式控制rts,在驱动内核中修改http://blog.csdn.net/edw200/article/details/52251385?locationNum=4

  就是在发送前拉高,发送后拉低,但是这样要计算时间,比较麻烦,而且不同的波特率容易时间计算不准确,所以还是应该由上层把这个事做了,也就是用ioctl的形式来做,这样比较安全放心。

       rts的控制在海思的文档里写得很隐晦难懂,我也是测量之后才知道,0x20090030的bit11会影响rts的电平,当bit11为0的时候,电平是3.2v,当bit11为1的时候,电平变成了0v,ioctl在/drivers/tty/Tty_io.c里case TIOCMSET:

       还有一个地方要注意,就是如果你ioctl以后close fd了,那么这个bit位又会恢复原样,也就是要看这个bit是否置位,必须while 1 hold住程序才行,不然fd一关,这个bit就自动变了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值