【Ai-M61-32SU入门】学习串口的使用之轮询方式

[复制链接]
查看1760 | 回复9 | 2023-12-27 21:19:45 | 显示全部楼层 |阅读模式
本帖最后由 lvxinjia123 于 2023-12-27 21:24 编辑

BL616/BL618 共有 2 组 UART,SDK占用了uart0作为控制台输出,接下来用uart1学习一下uart的使用
简单写个收发测试

  1. #include "bflb_gpio.h"
  2. #include "board.h"
  3. #include "bflb_uart.h"

  4. struct bflb_device_s *gpio;
  5. struct bflb_device_s *uart1;

  6. int main(void)
  7. {
  8.     board_init();
  9.     gpio = bflb_device_get_by_name("gpio");
  10.     uart1 = bflb_device_get_by_name("uart1");
  11.     bflb_gpio_uart_init(gpio, GPIO_PIN_23, GPIO_UART_FUNC_UART1_TX);
  12.     bflb_gpio_uart_init(gpio, GPIO_PIN_24, GPIO_UART_FUNC_UART1_RX);
  13.     struct bflb_uart_config_s cfg;
  14.     cfg.baudrate = 115200;
  15.     cfg.data_bits = UART_DATA_BITS_8;
  16.     cfg.stop_bits = UART_STOP_BITS_1;
  17.     cfg.parity = UART_PARITY_NONE;
  18.     cfg.flow_ctrl = 0;
  19.     bflb_uart_init(uart1, &cfg);

  20.     int ch;
  21.     while (1)
  22.     {
  23.         ch = bflb_uart_getchar(uart1);
  24.         if (ch != -1) {
  25.             bflb_uart_putchar(uart1, ch);
  26.         }
  27.     }
  28. }
复制代码


了解一下串口配置的各项参数:
cfg.baudrate 串口波特率,不能高于uart_clk/2,串口时钟源可以选择160M/BCLK/XCLK,例程SDK默认选择了XCLK
cfg.data_bits 串口数据位,可选5/6/7/8 bit
cfg.stop_bits 串口停止位,可选择 0.5/1/1.5/2 bit
cfg.parity 串口校验位,可选择奇/偶/无校验
cfg.flow_ctrl 流控制位,可以择无/RTS/CTS/RTS_CTS
用USB转串口工具连好3.3 GND IO23接RX IO24接TX,打开串口调试软件发送任意字符,效果如图
QQ截图20231227203222.png

用轮询接收串口消息在实际开发中很少使用,更常用的是串口中断和DMA,下次有时间再试试

回复

使用道具 举报

AXK123456 | 2023-12-27 21:45:28 | 显示全部楼层
向大佬学习
回复 支持 反对

使用道具 举报

san | 2023-12-27 22:36:51 | 显示全部楼层
学习
回复

使用道具 举报

1084504793 | 2023-12-27 23:11:37 | 显示全部楼层
学到了
回复

使用道具 举报

干簧管 | 2023-12-28 08:42:05 | 显示全部楼层
点赞
回复

使用道具 举报

爱笑 | 2023-12-28 08:53:25 | 显示全部楼层
不错不错
用心做好保姆工作
回复

使用道具 举报

lazy | 2023-12-28 08:58:34 | 显示全部楼层
学习
回复

使用道具 举报

molun | 2023-12-28 09:41:57 | 显示全部楼层
学习学习
等风,等雨,也等你!
回复

使用道具 举报

bzhou830 | 2023-12-28 13:37:16 | 显示全部楼层
赞一个
选择去发光,而不是被照亮
回复

使用道具 举报

心云 | 2024-1-7 22:45:25 | 显示全部楼层
👍
回复

使用道具 举报

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

本版积分规则