树莓派串口

串口的初始化常用函数
int tcgetattr(int fd , struct termios * termios_p)
int cfsetispeed(struct termios * termios_p, speed_t speed)
句柄 speed B115200 8位数据位 无奇偶校验 一位停止位 一共5个参数!
int cfsetospeed(struct termios * termios_p, speed_t speed)
int tcflush(int fd, int queue_selector)
 
  1. 由于树莓派3B+ 和 4B版本的硬件没有直接配置uart,需要写配置文件,使能相应的引脚!
  2. vim 查找字符串 /***
  3. 在文件夹 /boot/overlays 中找到 pi3-miniuart-bt
  4.   使得 serial 0 指向 GPIO 串口,serial 1 指向 ttys0
  5.   关闭控制台
  wiringSerial 函数测试树莓派串口收发数据操作没有问题。
  串口单次发送收不完,连续发送没问题。
  不能使用简单的轮询查询方式。串口接收数据时,即使是数据块,也不可能一下就收到。
  串口的驱动层会将每次收到的数据放在底层的缓冲区中,至于程序中读出的数据,它们应该就来自底层缓冲区。底层数据读出后就被清空,因此不会读到重复的数据。串口函数提供了一个询问指令用于检查缓冲区的长度,可以通过比较前后读到的长度是否相同,判定数据是否读完。一但读完可以一次将底层数据全部读出。
 
 
 


posted @   jcmaxx33  阅读(330)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示