1赞

回答

收藏

[评测分享] 【灵动Motor-DK电机控制板】 printf输出

#板卡评测 #板卡评测 2652 人阅读 | 0 人回复 | 2023-07-21

本帖最后由 TLLED 于 2023-7-21 08:48 编辑

下面来测试下串口输出。
一、硬件电路

板卡上串口输出的端口和定义的位置



二、程序部分

2.1、fun_uart.c
  1. #include "main.h"

  2. void init_uart(uint32_t Baudrate)
  3. {
  4.         GPIO_InitTypeDef  GPIO_InitStruct;
  5.         USART_InitTypeDef USART_InitStruct;

  6.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART1, ENABLE);

  7.         USART_StructInit(&USART_InitStruct);
  8.         USART_InitStruct.USART_BaudRate   = Baudrate;
  9.         USART_InitStruct.USART_WordLength = USART_WordLength_8b;
  10.         USART_InitStruct.USART_StopBits   = USART_StopBits_1;
  11.         USART_InitStruct.USART_Parity     = USART_Parity_No;
  12.         USART_InitStruct.USART_Mode       = USART_Mode_Rx | USART_Mode_Tx;
  13.         USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  14.         USART_Init(USART1, &USART_InitStruct);

  15.         RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);

  16.         GPIO_PinAFConfig(GPIOA, GPIO_PinSource11, GPIO_AF_5);
  17.         GPIO_PinAFConfig(GPIOA, GPIO_PinSource12, GPIO_AF_5);

  18.         GPIO_StructInit(&GPIO_InitStruct);
  19.         GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_11 | GPIO_Pin_12;
  20.         GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;
  21.         GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_AF_PP;
  22.   GPIO_Init(GPIOA, &GPIO_InitStruct);

  23.         USART_Cmd(USART1, ENABLE);
  24.        
  25. }

  26. int fputc(int ch, FILE *f)
  27. {
  28.         USART_SendData(USART1, (uint8_t)ch);

  29.         while (RESET == USART_GetFlagStatus(USART1, USART_FLAG_TC))
  30.         {
  31.         }

  32.         return (ch);
  33. }
复制代码

2.2、fun_uart.h
  1. #ifndef __FUN_UART_H
  2. #define __FUN_UART_H

  3. void init_uart(uint32_t Baudrate);

  4. #endif
复制代码

2.3、main.c
  1. #include "main.h"

  2. int main(void)
  3. {
  4.         init_delay();
  5.         init_led();
  6.         init_uart(115200);
  7.        
  8.         while (1)
  9.         {
  10.                 led1_tog();
  11.                 printf("mm32spin0230 uart test !\r\n");
  12.                 DelayMS(100);
  13.         }
  14. }
复制代码

三、程序运行

下载程序后,串口输出内容


分享到:
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条