ESP32之UART

        LiDAR是通过串口发送数据的,所以需要配置ESP32的串口。

        起初还以为和STM32的串口差不多,用中断接收数据,结果过看了官方例程,发现根本没有中断(普通接收中断)。

        ESP32的串口是通过阻塞接收的方式来获取串口的数据,所以需要用到多线程。

        说到多线程,之前用WIFI的时候发现ESP32居然可以用pthread_create()来创建线程,那么问题就来了,用pthread_create()和用Free RTOS的xTaskCreate()创建线程有什么区别吗。

        回归ESP32的串口这个问题。

        int uart_read_bytes(uart_port_t , uint8_t * , uint32_t , TickType_t ) 这个函数用来阻塞获取串口接收到的数据,参数含义如下:

                第一个参数是串口号。

                第二个参数是把串口接收到的数据放进哪块内存区域。

                第三个参数是对应内存区域的长度。

                第四个参数是阻塞时间。

       第三、四个参数应相配合使用。当阻塞时间未到,数据长度到了,返回数据;当数据长度没到,阻塞时间到了,也返回数据。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
树莓派(Raspberry Pi)和ESP32都是流行的微型计算机平台,它们各自有独特的用途,但都支持串行通信,如UART(Universal Asynchronous Receiver/Transmitter),用于设备间的数据传输。 树莓派是一个基于Linux的单板电脑,广泛用于教育、物联网开发和原型设计。它的GPIO(General Purpose Input/Output)接口中就包含UART端口,可以用来连接其他硬件设备,如传感器或简单的控制模块,通过串口进行通信。 ESP32是Espressif Systems开发的一款嵌入式微控制器,它内置了Wi-Fi和蓝牙功能,特别适合物联网项目。ESP32同样具有多个UART端口,如TX/RX接口,用于与其他设备,如Arduino、PC或其他ESP32模块进行串口通信,或者作为微控制器之间的通信媒介。 在使用树莓派和ESP32UART通信时,通常的步骤包括配置端口参数(波特率、数据位数等)、编写发送和接收代码,以及可能的软件驱动设置。比如,如果你想要让树莓派和ESP32通过UART交换信息,你可能会: 1. 配置树莓派的GPIO UART设置,并启用相应的服务(如python的RPi.GPIO或picotcp)。 2. 使用Python的`serial`库在树莓派上创建串口连接。 3. 在ESP32上,通过SDK(如Micropython)配置串口并编写发送和接收函数。 4. 确保数据格式匹配,例如,是否需要添加校验和或者帧头。 相关问题: 1. ESP32UART接口如何配置? 2. 如何在树莓派上使用Python的`serial`库连接ESP32? 3. 什么是UART通信中的波特率和数据位数?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值