作者NcThoR (Walter von Schenkopp)
看板LinuxDev
标题[问题] UART Interface
时间Thu Apr 5 23:19:40 2007
我先说明我的情况,我目前正在做GPRS模组的实验
就是用WinXP的超级终端机去开com1 (com1连接gprs module)
对gprs模组送AT command
超级终端机的设定是鲍率9600,传输资料为8 bits,
没有同位元检查,停止位元为1 bit。
现在我要把这个设定移到Linux系统上来做(Orz 其实是Embedded Linux)
所以我要自己搞一个tty介面,现在要来求救的就是这个介面的相关设定。
如果我要把这个介面的模式设定成跟XP的超级终端机一样的话
我该把ttyS0设定为正规模式亦或是非正规模式?
open後面需除了正规/非正规,O_RDWD,O_NOCTTY外需不需要加上O_NDELAY旗标?
还有Termios结构中的options.c_iflag和option.c_oflag需不需要做特别的设定?
鲍率9600我这样子的设定options.c_flag|=(B9600|CLOCAL|CREAD); 正确否?
至於8 bits 无同位元检查 停止位元1 bit 设定如下
options.c_cflag &= ~PARENB;
options.c_cflag &= ~CSTOPB;
options.c_cflag |= CS8; @@ 这样不晓得有没有问题
至於局部模式c_lflag除了正规/非正规外还需不需要另外加上什麽其他的设定?
例如:ECHO ECHOE?
特殊控制字元c_cc 因为AT command需要输入<CR>还有ctrl+z这样的讯号
那c_cc我应该要如何去设定呢? Orz 这部分我看书完全看不懂
不好意思问题有点多<(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.81.110
1F:推 elpam:建议...用pyserial 然後在windows linux 板子上通吃.. 04/07 00:43
2F:→ elpam:当然...size会有点大就是了 xD~ 不过先拿来验证不错 04/07 00:44
3F:→ NcThoR:好的 我去做做看 <(_ _)> 04/07 08:11