[quote=引用 6 楼 u010316743 的回复:] [quote=引用 5 楼 drlsdrls 的回复:] 这个不叫同步通信,上位机和下位机各自有各自的clock源,他们之间的通信只有两根线TxRx,如果上位机和下位机有第三根clock线,那他们就是同步通信
串口同步通信指的是在同步执行时,线程会被阻塞,函数直到执行操作完成后才返回,导致程序的执行效率下降。而在异步执行时,即使操作还未完成,调用的函数也会立即返回,费时的I/O操作在后台执行,这样线程就可以做其它的事情,从而提高了执行效率。 通过writefile 和readfile的最后一个参数控制的,参考二楼做法。
[quote=引用 5 楼 drlsdrls 的回复:] 这个不叫同步通信,上位机和下位机各自有各自的clock源,他们之间的通信只有两根线TxRx,如果上位机和下位机有第三根clock线,那他们就是同步通信
这个不叫同步通信,上位机和下位机各自有各自的clock源,他们之间的通信只有两根线TxRx,如果上位机和下位机有第三根clock线,那他们就是同步通信
个人理解,所谓同步是需要第三根clock线支持的,PC和单片机只有2根线RxTx,所以没发做到同步的
同步的最简单啊,发出去sleep个1ms 然后读接受缓冲区,缓冲区空的话就是超时,有就读
[quote=引用 9 楼 u010316743 的回复:] [quote=引用 7 楼 ohyeszq 的回复:] 串口同步通信指的是在同步执行时,线程会被阻塞,函数直到执行操作完成后才返回,导致程序的执行效率下降。而在异步执行时,即使操作还未完成,调用的函数也会立即返回,费时的I/O操作在后台执行,这样线程就可以做其它的事情,从而提高了执行效率。 通过writefile 和readfile的最后一个参数控制的,参考二楼做法。
[quote=引用 7 楼 ohyeszq 的回复:] 串口同步通信指的是在同步执行时,线程会被阻塞,函数直到执行操作完成后才返回,导致程序的执行效率下降。而在异步执行时,即使操作还未完成,调用的函数也会立即返回,费时的I/O操作在后台执行,这样线程就可以做其它的事情,从而提高了执行效率。 通过writefile 和readfile的最后一个参数控制的,参考二楼做法。
3,245
社区成员
48,539
社区内容
加载中
试试用AI创作助手写篇文章吧