vxworks数据在串口收发

在C与CPP间徘徊 2019-06-01 06:49:04
请问如何用vxworks实现串口与伺服(或者串口链接另外一台电脑在另外一台电脑上安装串口助手显示信号量)的程序,就是程序通过workbench编写,然后烧到开发板中,然后通过422传给另外一台电脑(另外一台电脑安装串口助手并显示数据)
...全文
786 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
哦哦好的,谢谢
VxWorks_developer 2019-08-27
  • 打赏
  • 举报
回复
两路串口接收独立的,可以创建两个接收任务。初始化配置串口只在系统启动时完成配置,不要放在任务里。 你的两路串口执行的任务不同,不要放在一个任务里,设计时考虑去耦合对你以后维护非常有帮助。
netlark 2019-08-20
  • 打赏
  • 举报
回复
为啥要用POSIX API 呀,我给你的方式,VxWorks 只写的方式,也就是输入日志的方式,在LINUX 中就相当于 READ-WRITE LOCK 。 如果你要读,那么就另外加一个TASK_READ , 然后从中断中 发送消息到TASK_READ就可以了。
  • 打赏
  • 举报
回复
引用 2 楼 netlark 的回复:
BSP 串口驱动没问题, 就用一个TASK1 做同步发送,其他的TASK 要写日志 ,就直接发送到TASK1 就行,同步可以用semorphone 保证发送的时序
,两个串口是不是要加个判断啊while(1)
{
FD_ZERO(&readFds);
FD_SET(g_serialFd, &readFds);
FD_SET(g_serialFd1,&readFds);
width=(g_serialFd>g_serialFd1?g_serialFd:g_serialFd1)+1;
if(ERROR == select(width, &readFds, NULL, NULL, NULL))//(要从0检查的位数**读取fds**写入fds**异常fds**等待的最大时间,空=永远)
{
continue;
}
if(FD_ISSET(g_serialFd, &readFds))
{
count=read(g_serialFd, (char *)&控制字, 16);
printf("打印串口1收的");
}
if(FD_ISSET(g_serialFd1, &readFds))
{
count=read(g_serialFd1, (char *)&控制字, 16);
printf("打印串口二收的");
}
但是现在串口二收的有错误
  • 打赏
  • 举报
回复
引用 1 楼 VxWorks_developer 的回复:
只要是VxWorks支持串口驱动,直接创建串口发送任务就行啊
,两个串口是不是要加个判断啊while(1)
{
FD_ZERO(&readFds);
FD_SET(g_serialFd, &readFds);
FD_SET(g_serialFd1,&readFds);
width=(g_serialFd>g_serialFd1?g_serialFd:g_serialFd1)+1;
if(ERROR == select(width, &readFds, NULL, NULL, NULL))//(要从0检查的位数**读取fds**写入fds**异常fds**等待的最大时间,空=永远)
{
continue;
}
if(FD_ISSET(g_serialFd, &readFds))
{
count=read(g_serialFd, (char *)&控制字, 16);
printf("打印串口1收的");
}
if(FD_ISSET(g_serialFd1, &readFds))
{
count=read(g_serialFd1, (char *)&控制字, 16);
printf("打印串口二收的");
}
但是现在串口二收的有错误
netlark 2019-07-30
  • 打赏
  • 举报
回复
BSP 串口驱动没问题, 就用一个TASK1 做同步发送,其他的TASK 要写日志 ,就直接发送到TASK1 就行,同步可以用semorphone 保证发送的时序
VxWorks_developer 2019-06-11
  • 打赏
  • 举报
回复
只要是VxWorks支持串口驱动,直接创建串口发送任务就行啊

2,179

社区成员

发帖
与我相关
我的任务
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
  • VxWorks开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧