1155|2

1455

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【便携式环境状态检测器】UART串行通讯 [复制链接]

 

串行通讯是一项重要的功能,通过它不但能实现MCU间的通讯,也可控制哪些可以由串口来控制的设备,如串口控制型的超声波距离采集、串口显示屏、MP3音频播放模块及串口记录仪等。

据介绍对于ESP32-S2-Kaluga-1开发板的UART来讲是可以定义在任何端口使用的,为此可使用USB-TTL按如下方式来连接开发板:

USB-TTL     开发板

RX             GPIO4

TX             GPIO5

GND         GND

 

为实现串口的数据收发处理,需有3部分的内容:

1)头文件及相关变量

所涉及的头文件如下:

#include "driver/uart.h"

所涉及的变量为:

#define UART_TXD                (4)

#define UART_RXD                (5)

#define UART_RTS                (UART_PIN_NO_CHANGE)

#define UART_CTS                (UART_PIN_NO_CHANGE)

#define UART_PORT_NUM          (1)

#define UART_BAUD_RATE         (115200)

#define UART_BUF_SIZE          (1024)

2)测试函数

在该测试函数中,已包含了串口的初始化及测试处理,其内容如下:

static void Uart_test(void)
{
     uart_config_t uart_config = {
        .baud_rate = UART_BAUD_RATE,
        .data_bits = UART_DATA_8_BITS,
        .parity    = UART_PARITY_DISABLE,
        .stop_bits = UART_STOP_BITS_1,
        .flow_ctrl = UART_HW_FLOWCTRL_DISABLE,
        .source_clk = UART_SCLK_APB,
    };

    int intr_alloc_flags = 0;

    #if CONFIG_UART_ISR_IN_IRAM
       intr_alloc_flags = ESP_INTR_FLAG_IRAM;
    #endif

    ESP_ERROR_CHECK(uart_driver_install(UART_PORT_NUM, UART_BUF_SIZE * 2, 0, 0, NULL, intr_alloc_flags));
    ESP_ERROR_CHECK(uart_param_config(UART_PORT_NUM, &uart_config));
    ESP_ERROR_CHECK(uart_set_pin(UART_PORT_NUM, UART_TXD, UART_RXD, UART_RTS, UART_CTS));
    uint8_t *data = (uint8_t *) malloc(UART_BUF_SIZE);
    while (1)
    {
        // Read data from the UART
        int len = uart_read_bytes(UART_PORT_NUM, data, UART_BUF_SIZE, 20 / portTICK_RATE_MS);
        // Write data back to the UART
        uart_write_bytes(UART_PORT_NUM, (constchar *) data, len);
    }
}

3)主程序

实现测试的主程序十分简单,其内容如下:

voidapp_main(void)
{
    Uart_test();
}

经程序的编译和下载,其数据收发的测试效果如图1所示。

 

图1 数据收发测试

为测试串口发送字节数据及指令,可在测试函数中添加如下的变量及测试语句:

char udat[5]={0x30,0x31,0x32,0x33,0x34};

uart_write_bytes(UART_PORT_NUM, (constchar *) udat, 5);Uart_test();

其测试结果如图2所示,这样将串口设备的指令存入数组就可以方式控制指令了。

 

图2 发送字节数据测试

最新回复

66666,经典!  详情 回复 发表于 2022-10-17 07:02
点赞 关注
 
 

回复
举报

6841

帖子

11

TA的资源

版主

沙发
 
66666,经典!

点评

感谢支持!!!  详情 回复 发表于 2022-10-17 08:38
 
 
 

回复

1455

帖子

1

TA的资源

五彩晶圆(初级)

板凳
 

感谢支持!!!

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表