zoukankan      html  css  js  c++  java
  • 树莓派串口

    串口的初始化常用函数
    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 函数测试树莓派串口收发数据操作没有问题。
      串口单次发送收不完,连续发送没问题。
      不能使用简单的轮询查询方式。串口接收数据时,即使是数据块,也不可能一下就收到。
      串口的驱动层会将每次收到的数据放在底层的缓冲区中,至于程序中读出的数据,它们应该就来自底层缓冲区。底层数据读出后就被清空,因此不会读到重复的数据。串口函数提供了一个询问指令用于检查缓冲区的长度,可以通过比较前后读到的长度是否相同,判定数据是否读完。一但读完可以一次将底层数据全部读出。
     
     
     


  • 相关阅读:
    通过mixins方法处理调取服务器时间
    记录个人对vuex的简单理解
    利用弹性布局实现垂直居中
    vue.set的适用方法
    深拷贝和浅拷贝的实现方法
    Maven安装步骤
    build tools
    Git
    Url和Uri的区别
    函数式编程语言
  • 原文地址:https://www.cnblogs.com/jichima/p/12969494.html
Copyright © 2011-2022 走看看