查看: 1937|回复: 0

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

[复制链接]
  • TA的每日心情
    开心
    2024-10-25 14:50
  • 签到天数: 1071 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2023-7-21 08:49:09 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 TLLED 于 2023-7-21 08:48 编辑

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

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


    二、程序部分

    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. }
    复制代码

    三、程序运行

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

    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-11-25 08:05 , Processed in 0.122038 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.