树莓3(Ubuntu虚拟机编译程序) 串口收发测试

来源:互联网 发布:爱国 知乎 编辑:程序博客网 时间:2024/06/06 09:26
*,总结:
1,配置树莓串口
5.2,找到串口设备,和波特率
5.3,交叉编译程序测试(https://github.com/zacSuo/SerialPort)

尝试流程:

1,配置树莓串口
2,Windows下收发程序
2.1,使用IBM官网的串口程序,但提示两个头文件不存在,先拷贝过来试试看:
<unistd.h>    /*Unix 标准函数定义*/
<termios.h>   /*PPSIX 终端控制定义*/
2.2, 新增unistd.h文件(网上拷贝内容,新建文件)
是POSIX标准定义的unix类系统定义符号常量的头文件,包含了许多UNIX系统服务的函数原型,例如read函数、write函数和getpid函数
2.3,新增termios.h文件(从树莓上拷贝过来:/usr/include/termios.h)
这是Linux 下串口驱动头文件,要想在windows上使用,需要有开发库的支持
2.4,还是报错看到termios.h中引用了其他头文件,还是直接去Ubuntu上编译吧
3,Ubuntu中调试收发程序(https://github.com/zacSuo/SerialPort)
3.1,虚拟机配置串口
3.2,测试串口
输出到文件显示没权限,则增加当前用户到对应组群dialout,注销重新登录后生效
echo "aaaa" >> /dev/ttyS2   执行后在Windows中看到文本文件增加内容
ttyS2为文件串口,不过我也不知道怎么确定是哪个设备,应该ttyS1是跟PC共享的COM1,


3.3,程序调试(用文本串口ttyS2来查看串口写入是否正确),直接执行看到正常输出:写正常
3.4,在通道串口,测试下读取函数(PC用Putty访问通道)
\\.\pipe\com_4
直接在Putty中输入信息,按回车发送到通道串口,虚拟机的串口监听则可以读取到,虚拟机用Echo命令输出给通道串口时,由于没有监听,Putty的命令行界面不允许输入,但运行程序后则可以输入,结束程序后Putty中也不允许输入了。


4,在树莓中测试程序
4.1,短接树莓的收发引脚(TX 和 RX)
4.2,Ubuntu中编译,上传到树莓测试,显示文件不存在,安装minicom查看串口为tty8
4.3,修改串口再测试,还是不行,运行minicom时发现设备锁了,可能未正常关闭minicom
4.4,删除/var/lock/LCK..tty8文件,再试,提示没权限,增加sudo后成功

0 0
原创粉丝点击