求助:Linux下C语言如何向串口发送16进制数据

求助:Linux下C语言如何向串口发送16进制数据,第1张

Linux特点是所有都是文件

包括串口设备

首先 找到你串口对应的设备 一般是 /dev/ttyS1

当然 也可能是别的 需要你自己确认硬件。

然后 比如你要发送0x01,0x02,0x03,0x04,

int fd fd = open("/dev/ttyS1",O_RDWD)

char buf[256]={0x01,0x02,0x03,0x04}

write(fd,buf,4)

close(fd)

这样就可以了。

要满足这三个条件:

1,单开线程自动写at

2,单开线程读at

3,打开文件读配置,将读出来后的配置文件放到log文件里去。

这边记录下如何在ui下开一个线程的过程:用一个handler变量调用handler.post函数,然后在runnable里面重写run接口就可以,实际上,这样调用出来的线程跟ui主线程是一个线程,不会创建新的。所以这边如果要用线程创建的话,必须

wthread = new HandlerThread("thread")

wthread.start()

wHandler = new Handler(wthread.getLooper())

wHandler.post(runnable)

这时重写runnable的run函数才可以实现重新开启一个线程。

在这个线程里面可以读写串口,但是界面的刷新不能在这个子线程里面做。必须主线程在做一个handler,然后子线程调用Message 变量传进主线程的handler.sendMessage(msg)然后主线程用handlerMessage接收子线程传过来的消息,在主线程里面刷新界面。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7553516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存