全部博文(43)
分类: LINUX
2010-11-16 16:13:22
chinaunix网友2010-11-19 15:10:24
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com
chinaunix网友2010-11-16 16:14:37
Linux的串口驱动版本是5.05,系统 /dev/ttySX是串口驱动注册的设备文件。你可以用setserial来配置驱动的参数指定 ttySX用的是什么地址,什么中断,芯片是什么型号。比如你的物理串口设备使用的中断是3,你应该设置对应的ttySX的中断是3,当然你也可以用 setserial设置驱动使用其他的中断号,这样的话,驱动将不会得到硬件的中断信号,所以中断服务函数不会执行,所以驱动就会设置一个定时器,超时候,将会自己调用函数,将缓冲区的数据发送出去。标准串口发送数据流程:数据存放在缓冲区---〉设置传输中断使能退出,等待传输中断发出后,中断处理函数来将缓冲区的数据发出。如果中断号设置错误,将不能得到串口的中断信号,所以数据一直在缓冲区,直到超时候,由定时器调用服务函数将数据发出。 所以,你只要正确的设置串口的参数,就可以了。 另外,ttySX可以任意设置,比如串口 port 0x1024 irq 7 ,你可以设置到ttyS3,也可以设置到ttyS4上,ttySX中的X没有与物理序号绑定的含义。