[国产单片机] 【东软载波ES32F369x+使用串口debug】

[复制链接]
 楼主| freeelectron 发表于 2021-2-8 20:37 | 显示全部楼层 |阅读模式
本帖最后由 freeelectron 于 2021-2-8 20:44 编辑

1、引脚
使用串口0,对应的引脚是PB10、PB11

2、引脚复用功能
可以看出PB10、PB11用作串口的时候,是复用功能3,因此在软件配置的时候需要配置为复用功能3

3、串口初始化
先初始化io,再初始化串口
  1. <blockquote>void uart_init(void)
4、printf映射
  1. int fputc(int ch, FILE *f)
  2. {   
  3.         md_uart_set_send_data8(UART0, ch);

  4.   while (!md_uart_is_active_it_tfth(UART0)){};
  5.         md_uart_clear_it_tfth(UART0);
  6.         
  7.   return ch;               
  8. }
当然,还需要在keil中勾选使用Microlib

5、printf运行起来



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| freeelectron 发表于 2021-2-8 20:41 | 显示全部楼层

初始化串口代码,一直放不上去,补放在这里。。。

  1. void uart_init(void)
  2. {
  3.         md_gpio_init_t x;
  4.         md_uart_init_t h_uart;

  5.         /* Initialize tx pin */
  6.         x.mode  = MD_GPIO_MODE_OUTPUT;
  7.         x.odos  = MD_GPIO_PUSH_PULL;
  8.         x.pupd  = MD_GPIO_PUSH_UP;
  9.         x.podrv = MD_GPIO_OUT_DRIVE_1;
  10.         x.nodrv = MD_GPIO_OUT_DRIVE_0_1;
  11.         x.flt   = MD_GPIO_FILTER_DISABLE;
  12.         x.type  = MD_GPIO_TYPE_TTL;
  13.         x.func  = MD_GPIO_FUNC_3;
  14.         md_gpio_init(UART0_TX_PORT, UART0_TX_PIN, &x);

  15.         /* Initialize rx pin */
  16.         x.mode  = MD_GPIO_MODE_INPUT;
  17.         x.odos  = MD_GPIO_PUSH_PULL;
  18.         x.pupd  = MD_GPIO_PUSH_UP;
  19.         x.podrv = MD_GPIO_OUT_DRIVE_1;
  20.         x.nodrv = MD_GPIO_OUT_DRIVE_0_1;
  21.         x.flt   = MD_GPIO_FILTER_DISABLE;
  22.         x.type  = MD_GPIO_TYPE_TTL;
  23.         x.func  = MD_GPIO_FUNC_3;
  24.         md_gpio_init(UART0_RX_PORT, UART0_RX_PIN, &x);
  25.        
  26.         h_uart.baud        = 115200;
  27.         h_uart.word_length = MD_UART_WORD_LENGTH_8B;
  28.         h_uart.stop_bits   = MD_UART_STOP_BITS_1;
  29.         h_uart.parity      = MD_UART_PARITY_NONE;
  30.         h_uart.fctl        = MD_UART_FLOW_CTL_DISABLE;
  31.         h_uart.mode          = MD_UART_MODE;
  32.        
  33. //  md_uart_init_struct(&h_uart);
  34.         md_uart_init(UART0, &h_uart);
  35. }


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

本版积分规则

个人签名:stm32/LoRa物联网:304350312

65

主题

785

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部