
include "usart.h"int fputc(int ch, FILE *f)
{
Serial_SendByte(ch); void USART2_Init(u32 bound) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD,ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;//TX GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; GPIO_Init(GPIOA,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;//RX GPIO_Init(GPIOA,&GPIO_InitStructure); USART_InitStructure.USART_BaudRate = bound; USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; USART_Init(USART2, &USART_InitStructure); USART_Cmd(USART2, ENABLE); } void Serial_SendByte(uint8_t Byte) { USART_SendData(USART2, Byte); while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET); } 同样的代码换成USART1就可以正常使用,请问是什么原因 |
STM32WB55 USB dongle FUS 0.0.0问题
哪里能下载ST官方展示的NUCLEO-G071RB配合X-NUCLEO-GFX01M1运行TouchGFX案例的源程序?
I2C从模式编程之STOP中断
I2C从模式编程之空闲状态
Stem32CubeIDE能像Keil一样指定不同文件下的代码编译到不同的FLASH地址吗?比如部分代码存放到内部FLASH,另一部分存放到外部QSPI的FLASH中
stm32cubemx 创建STM32H747I工程 M7正常M4为什么不正常KEIL工程.c文件上面有减号标志
STM8AF62XX+L99PM62GXP LIN通讯的电路原理图有吗?官网提供了一套软件,没找到对应的原理图,请大家指教一下
使用STM32L451CEU6型号的芯片,在用usart(PA9、PA10)进行串口通信时,发送0x55在PC端可以收到正确的数据,但是发送0x80会收到0x00的数据,发送0x01会收到0x7F的数据,串口助手的配置和CubeMX上的配置参数是一样的(都是115200,8N1),请问各位这个是什么原因呀?
学习应用TouchGFX通过哪种途径比较好
STM32CubeIDE在线调试的时候如何让watch的变量实时刷新
检查UART2所用到GPIO的时钟是否开启;
检查UART2的外设时钟开启没有,别配错了,UART2挂在APB1总线上;
检查UART2的波特率配置跟串口终端配置的是否一致,UART1可以,UART2的参数应该调整下,它的外设时钟跟UART1刚好差一倍;
检查是否用涉及管脚重映射的操作,记得使能AFIO时钟,HAL库是这样的: __HAL_RCC_AFIO_CLK_ENABLE();
若使用标准库,操作是这样的:RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);