<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p></p>
讯享网
串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。
串口可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。
串口通信(Serial Communications)是串口按位(bit)发送和接收字节的通信方式,它是嵌入式物联网领域中常用的通讯方式。
典型的串口通信使用3根线完成,分别是发送、接收、地线。
由于串口通信是异步的,所以端口能够在一根线上发送数据,同时在另一根线上接收数据。
异步通信和同步通信都要进行发送方和接收方的“同步”。其中异步通信按字符进行传输,利用每一帧的起始位和停止位实现同步;而同步通信采用共同外部时钟来进行同步。

讯享网
TX(Transmit Exchange)数据发送脚
RX(Receive Exchange)数据接收脚
GND(Ground)底线
参考资料:串口编程
在 Linux 系统中,操作设备的统一接口就是:open/ioctl/read/write。
对于 UART,又在 ioctl 之上封装了很多函数,主要是用来设置行规程。所以对
于 UART,编程的套路就是:

怎么设置行规程?行规程的参数用结构体 termios 来表示,可以参考 Linux
串口—struct termios 结构体:

这些函数在名称上有一些惯例:
下面列出一些函数:

具体函数参数使用时,可以查找手册!
函数不多,主要是需要设置好 termios 中的参数,这些参数很复杂,可以参考Linux 串口—struct termios 结构体。
程序:
讯享网
我使用的是imx6ull板子

上机实验:

编译:arm-buildroot-linux-gnueabihf-gcc -o serial_send_recv serial_send_recv.c
复制过去板子上:cp serial_send_recv~/nfs_rootfs/
板子上运行:/mnt/serial_send_recv /dev/ttymxc5
GPS 模块与外部控制器的通讯接口有多种方式,这里我们使用串口进行通讯,
波特率为 9600bps,1bit 停止位,无校验位,无流控,默认每秒输出一次标准格
式数据。
这里我们只分析\(GPGGA (Global Positioning System Fix Data)即可,它包含了 GPS 定位经纬度、质量因子、HDOP、高程、参考站号等字段。其标准格式如下:</p> <blockquote> <p>\)GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh
\(XXGGA 语句各字段的含义和取值范围各字段的含义和取值范围见下表所示,XX 取值有:<br /> ◼ GPGGA:单 GPS<br /> ◼ BDGGA:单北斗<br /> ◼ GLGGA:单 GLONASS<br /> ◼ GNGGA:多星联合定位</p> </blockquote> <p><img src="https://i-blog.csdnimg.cn/direct/6bd131bf06b44cd4622bd5.png" alt="在这里插入图片描述" /></p> <blockquote> <p>例子:\)GPGGA,074529.82,2429.6717,N,11804.6973,E,1,8,1.098,42.110,,,M,,*76。
编程:我们只需要在上面的实验代码上修改即可(修改while里面的内容即可)
子函数实现:
讯享网
上机实验:
板子接线(imx6ull):

编译代码:arm-buildroot-linux-gnueabihf-gcc -o gps_read gps_read.c
复制过去板子:cp gps_read ~/nfs_rootfs/
板子上运行:/mnt/gps_read /dev/ttymxc5
实验效果:



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/152752.html