重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要为大家展示了“Component中SIO怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Component中SIO怎么用”这篇文章吧。
公司主营业务:成都网站建设、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出江北免费做网站回馈大家。
组件INCLUDE_SIO,Serial IO,串口IO
包含了它之后,VxWorks就会调用usrSerial.c的usrSerialInit()来加载串口设备
通常BSP里都会把N_UART_CHANNELS定义为2,所以VxWorks启动后,就可以看到两个串口了
如果没有包含组件INCLUDE_PC_CONSOLE,VxWorks还会把第CONSOLE_TTY(0)个串口当作系统的标准IO设备,默认波特率是CONSOLE_BAUD_RATE(9600)。这样的话,printf()的结果就会从串口0输出。不过在X86的设备里,通常还是用pcConsole来做系统的标准IO,printf()的结果也就是从显卡输出了
如果Target没有网卡或者没有网卡驱动,在开发过程中,可以通过串口连接WDB,也就是用串口来进行调试。默认用的是WDB_TTY_CHANNEL(1),因此Target最好至少有两个串口。不过串口的传输速率比网卡慢很多,调试起来是很吃力的
我当前的Target是X86的CPU,VxWorks镜像包含了PC console组件,并使用END连接WDB,因此两个串口都是空闲的。
串口是以字节为单位来传输数据的,接下来看看应用层怎么操作它吧。
用串口线把VxWorks的串口0与Host的串口连接起来,Host端打开一个串口工具,例如我Windows端用的PuTTY,串口的配置一般就是用默认值:波特率9600,数据位8,停止位1,奇偶校验无,流控无
因为VxWorks在初始化串口时,一般用的初值也是这样的
直接在Shell里试试吧
Host的串口工具里就可以收到字符串hello了
还是写段代码吧: 这段代码打开串口,读取串口的默认配置,然后发送一段字符
执行结果为
再跑一个接收的例子
从Host端的串口工具里输入一些字符,以'q'结束
这个例子很简单,只是把接收到的信息,用printf()打印出来。在具体项目里就要用更复杂的操作来代替printf()了
最后看看串口的ioctl()都支持那些操作,例如可以用SIO_BAUD_SET或FIOBAUDRATE来设置波特率
如果想要自己扩展串口的功能,可以在驱动文件的ioctl函数添加分支,编号至少从0x100a开始
这正是:
VX默认俩串口(/tyCo/x),可做系统I与O(no PC Console)。
默认配置最常用(CS8),更多功能见Control(ioctl)。
以上是“Component中SIO怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!