和文件一样,open /dev/ttyS0就是串口1 然后设置波特率,停止位 奇偶校验那些 ,之后read write就可以了 头文件是termios.h
创新互联公司服务项目包括三河网站建设、三河网站制作、三河网页制作以及三河网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,三河网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到三河省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
linux 提供了各种工具, Linux 使用 ttySx 作为一个串口设备的名称。例如,COM1 (DOS/Windows 名字) 是 ttyS0, COM2 是 ttyS1 等等。
任务: 显示检测到的系统串口支持
简单的运行 dmesg 命令
$ dmesg | grep tty
输出:
[ 37.531286] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 37.531841] 00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 37.532138] 0000:04:00.3: ttyS1 at I/O 0x1020 (irq = 18) is a 16550A
setserial 命令
setserial 是一个程序用于设定并/或报告某个串口关联的配置信息。该信息包括串口用到的I/O 端口和中断号,以及Break键是否应被解释为Secure Attention Key 等等。 仅仅是输出如下的命令:
$ setserial -g /dev/ttyS[0123]
输出:
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x1020, IRQ: 18
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
带-g选项的setserial帮助找到你的Linux板子上的物理串口。
Linux 串口控制台程序
一旦串口被确定了,你就能使用许多的工具来配置Linux板子:
minicom- 用于控制modem和连接到dump 设备的最好的串口通信程序。
wvidial or other GUI dial up networking program - 一个内建智能PPP 拨号器。
getty / agetty - agetty 打开一个 tty 端口, 提示登录名称并调用 /bin/login 命令。
grub / lilo configuration - 配置串口为系统控制台。
要满足这三个条件:
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接收子线程传过来的消息,在主线程里面刷新界面。