- 论坛徽章:
- 0
|
原帖由 audi78 于 2006-7-28 13:16 发表
“就是发送前控制一下RTS信号而已”,那请问你:
1. 你是在内核态还是用户态下使能RTS信号的?
2.什么时候控制RTS为低电平?请不要告诉我“发送结束后控制下RTS信号就行”。具体是怎样控制这个RTS的。
其他的UART不熟悉,就我比较了解的8250、8251、8252之类的,都是有专门的寄存器控制这个。目前核心的源代码里都有这方面的现成代码。在RS-232通信的时候也是需要RTS/CTS配合的。你研究一下这些串口打开选项的具体含义应该能明白我的意思:
BAUDRATE: 设定 bps 的速度. 你也可以用 cfsetispeed 及 cfsetospeed 来设定.
CRTSCTS : 输出资料的硬体流量控制 (只能在具完整线路的缆线下工作
参考 Serial-HOWTO 第七节)
CS8 : 8n1 (8 位元, 不做同位元检查,1 个终止位元)
CLOCAL : 本地连线, 不具数据机控制功能
CREAD : 致能接收字元
-----
看了一下所谓的AT91RM9200 的手册(http://www.atmel.com/dyn/resources/prod_documents/doc1768.pdf ),第434页、435页讲的很详细,似乎在设置配置寄存器的某个比特后,硬件可以自动完成RTS的控制。
[ 本帖最后由 YaoFei 于 2006-7-28 18:08 编辑 ] |
|