我是一个新手小白,目前正在尝试做一个单片机,需要串口收发数据,要求要以非阻塞模式打开串口。我在打开多个串口后,创建了每个串口对应的线程,然后在每个线程里实现线程任务函数,在函数里面实现线程的读写,为遵循代码的可移植性,我把线程read的返回值设置成了size_t类型的,结果非阻塞模式打开时,程序直接退出并显示段错误,但是用阻塞模式打开就可以运行程序,多次修改之后发现是read返回值的问题,把size_t改为int类型即可。
第一次发,有不足的地方请大佬多多指教~
本文分享了作者在使用单片机进行串口数据收发过程中遇到的问题及解决方法。作者采用非阻塞模式打开串口,并为每个串口创建独立线程。在调试过程中发现,当线程中read函数的返回值类型为size_t时,程序会报错退出,而将返回值类型更改为int后问题得到解决。
我是一个新手小白,目前正在尝试做一个单片机,需要串口收发数据,要求要以非阻塞模式打开串口。我在打开多个串口后,创建了每个串口对应的线程,然后在每个线程里实现线程任务函数,在函数里面实现线程的读写,为遵循代码的可移植性,我把线程read的返回值设置成了size_t类型的,结果非阻塞模式打开时,程序直接退出并显示段错误,但是用阻塞模式打开就可以运行程序,多次修改之后发现是read返回值的问题,把size_t改为int类型即可。
第一次发,有不足的地方请大佬多多指教~
676
1002
1106

被折叠的 条评论
为什么被折叠?