TA的每日心情 | 开心 2024-10-25 14:50 |
---|
签到天数: 1071 天 连续签到: 1 天 [LV.10]以坛为家III
|
本帖最后由 TLLED 于 2023-7-21 08:48 编辑
下面来测试下串口输出。
一、硬件电路
板卡上串口输出的端口和定义的位置
二、程序部分
2.1、fun_uart.c
- #include "main.h"
- void init_uart(uint32_t Baudrate)
- {
- GPIO_InitTypeDef GPIO_InitStruct;
- USART_InitTypeDef USART_InitStruct;
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART1, ENABLE);
- USART_StructInit(&USART_InitStruct);
- USART_InitStruct.USART_BaudRate = Baudrate;
- USART_InitStruct.USART_WordLength = USART_WordLength_8b;
- USART_InitStruct.USART_StopBits = USART_StopBits_1;
- USART_InitStruct.USART_Parity = USART_Parity_No;
- USART_InitStruct.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
- USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
- USART_Init(USART1, &USART_InitStruct);
- RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
- GPIO_PinAFConfig(GPIOA, GPIO_PinSource11, GPIO_AF_5);
- GPIO_PinAFConfig(GPIOA, GPIO_PinSource12, GPIO_AF_5);
- GPIO_StructInit(&GPIO_InitStruct);
- GPIO_InitStruct.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12;
- GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;
- GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;
- GPIO_Init(GPIOA, &GPIO_InitStruct);
- USART_Cmd(USART1, ENABLE);
-
- }
- int fputc(int ch, FILE *f)
- {
- USART_SendData(USART1, (uint8_t)ch);
- while (RESET == USART_GetFlagStatus(USART1, USART_FLAG_TC))
- {
- }
- return (ch);
- }
复制代码
2.2、fun_uart.h
- #ifndef __FUN_UART_H
- #define __FUN_UART_H
- void init_uart(uint32_t Baudrate);
- #endif
复制代码
2.3、main.c
- #include "main.h"
- int main(void)
- {
- init_delay();
- init_led();
- init_uart(115200);
-
- while (1)
- {
- led1_tog();
- printf("mm32spin0230 uart test !\r\n");
- DelayMS(100);
- }
- }
复制代码
三、程序运行
下载程序后,串口输出内容
|
|