资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Component中SIO怎么用

这篇文章主要为大家展示了“Component中SIO怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Component中SIO怎么用”这篇文章吧。

公司主营业务:成都网站建设、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出江北免费做网站回馈大家。

组件INCLUDE_SIO,Serial IO,串口IO

Component中SIO怎么用

包含了它之后,VxWorks就会调用usrSerial.c的usrSerialInit()来加载串口设备

Component中SIO怎么用

通常BSP里都会把N_UART_CHANNELS定义为2,所以VxWorks启动后,就可以看到两个串口了

Component中SIO怎么用

 

如果没有包含组件INCLUDE_PC_CONSOLE,VxWorks还会把第CONSOLE_TTY(0)个串口当作系统的标准IO设备,默认波特率是CONSOLE_BAUD_RATE(9600)。这样的话,printf()的结果就会从串口0输出。不过在X86的设备里,通常还是用pcConsole来做系统的标准IO,printf()的结果也就是从显卡输出了

Component中SIO怎么用

如果Target没有网卡或者没有网卡驱动,在开发过程中,可以通过串口连接WDB,也就是用串口来进行调试。默认用的是WDB_TTY_CHANNEL(1),因此Target最好至少有两个串口。不过串口的传输速率比网卡慢很多,调试起来是很吃力的

Component中SIO怎么用

 

我当前的Target是X86的CPU,VxWorks镜像包含了PC console组件,并使用END连接WDB,因此两个串口都是空闲的。

串口是以字节为单位来传输数据的,接下来看看应用层怎么操作它吧。

用串口线把VxWorks的串口0与Host的串口连接起来,Host端打开一个串口工具,例如我Windows端用的PuTTY,串口的配置一般就是用默认值:波特率9600,数据位8,停止位1,奇偶校验无,流控无

Component中SIO怎么用

因为VxWorks在初始化串口时,一般用的初值也是这样的

Component中SIO怎么用

直接在Shell里试试吧

Component中SIO怎么用

Host的串口工具里就可以收到字符串hello了

Component中SIO怎么用

还是写段代码吧: 这段代码打开串口,读取串口的默认配置,然后发送一段字符

Component中SIO怎么用

执行结果为

Component中SIO怎么用

再跑一个接收的例子

Component中SIO怎么用

从Host端的串口工具里输入一些字符,以'q'结束

Component中SIO怎么用

这个例子很简单,只是把接收到的信息,用printf()打印出来。在具体项目里就要用更复杂的操作来代替printf()了

最后看看串口的ioctl()都支持那些操作,例如可以用SIO_BAUD_SET或FIOBAUDRATE来设置波特率

Component中SIO怎么用

如果想要自己扩展串口的功能,可以在驱动文件的ioctl函数添加分支,编号至少从0x100a开始

这正是:

VX默认俩串口(/tyCo/x),可做系统I与O(no PC Console)。

默认配置最常用(CS8),更多功能见Control(ioctl)。

以上是“Component中SIO怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网页题目:Component中SIO怎么用
文章网址:http://cdkjz.cn/article/jcsjgc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220