终于用PC串口显示出esp32 串口输出hello world

硬件:

esp32模块

rs232 转ttl 3.3v 电平转换器

3.3v 外接电源

esp32   tx 脚接转换器rx, rx脚接转换器tx

esp32 使用uart2 

现在就可以用pc作为上位机通过串口控制esp32,用pc串口调试软件作为esp的输出监控器显示esp的各种运算结果。

3e8c0b68f6274f728b4d977ec312ea4f.jpg

44bb3e0f384844ddbcf750015be04c6b.jpg

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/uart.h"
#include "esp_log.h"
#include <string.h>
#include "driver/gpio.h"

#define UART_NUM UART_NUM_2
#define TXD_PIN  17   //17
#define RXD_PIN   16    //16
#define BUF_SIZE 1024

void init_uart() {
    const uart_config_t uart_config = {
        .baud_rate = 115200,
        .data_bits = UART_DATA_8_BITS,
        .parity = UART_PARITY_DISABLE,
        .stop_bits = UART_STOP_BITS_1,
        .flow_ctrl = UART_HW_FLOWCTRL_DISABLE
    };
    uart_param_config(UART_NUM, &uart_config);
    uart_set_pin(UART_NUM, TXD_PIN, RXD_PIN, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
    uart_driver_install(UART_NUM, BUF_SIZE * 2, 0, 0, NULL, 0);
}

void app_main() {
       init_uart();
       uint8_t data[128];
       int length = 0;
    while (1) {   
       ESP_ERROR_CHECK(uart_get_buffered_data_len(UART_NUM, (size_t*)&length));
       length = uart_read_bytes(UART_NUM, data, length, 100);  //从pc串口接收
	  
       uart_write_bytes(UART_NUM, data,length);              //向pc 串口发送
		
       vTaskDelay(2000 / portTICK_PERIOD_MS);                 
  }
}

上面程序是esp32 接收pc串口数据后,再发送到pc 串口

esp32主要作用是控制各种外设,所以最重要是学习各种外设总线。

先从I2c  开始

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值