【发布时间】:2020-09-08 20:03:47
【问题描述】:
我正在尝试编写命令行 UART 环回测试。首先,我使用 'devs' 找到串行端口:/tyCo/0。然后我打开串口进行读/写:fd=open("/tyCo/0",2).
由于 read() 似乎是一个阻塞调用,我尝试创建一个任务来执行读取: sp(read, fd, &W, 0x10) 其中 W=malloc(0x10)。
我尝试写入 fd: write(fd,"HELLO",5) 但是当我在 &W 显示内容时,我得到了垃圾。
当我列出正在运行的任务时,我看到我为读取创建的任务是“PENDING”并且优先级为 100。我使用 taskPrioritySet() 为其分配不同的优先级,但无济于事.
我希望我创建的任务(我想在 read() 调用上立即阻止)在我执行 write() 时会唤醒.
关于如何完成命令行 UART 环回测试的任何想法?
【问题讨论】:
标签: uart multitasking vxworks