今天在用串口时候,出现一个问题,不能理解,故发帖求助
问题描述:
在使用STM32F103VET的串口USART1时,发现数据无法输出,经调试,发现问题在于未 使用语句 gpio_initStruct.GPIO_Speed = GPIO_Speed_50MHz;
原本代码:
[mw_shl_code=c,true] gpio_initStruct.GPIO_Mode = GPIO_Mode_AF_PP;
gpio_initStruct.GPIO_Pin = GPIO_Pin_9;
GPIO_Init(GPIOA,&gpio_initStruct);
gpio_initStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;
gpio_initStruct.GPIO_Pin = GPIO_Pin_10;
GPIO_Init(GPIOA,&gpio_initStruct);[/mw_shl_code]
此时,使用 USART_SendData(USART1, 0x12); 不能发送数据
加入 gpio_initStruct.GPIO_Speed = GPIO_Speed_50MHz; 后,代码如下
[mw_shl_code=c,true] gpio_initStruct.GPIO_Mode = GPIO_Mode_AF_PP;
gpio_initStruct.GPIO_Speed = GPIO_Speed_50MHz;
gpio_initStruct.GPIO_Pin = GPIO_Pin_9;
GPIO_Init(GPIOA,&gpio_initStruct);
gpio_initStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;
gpio_initStruct.GPIO_Pin = GPIO_Pin_10;
GPIO_Init(GPIOA,&gpio_initStruct);[/mw_shl_code]
此时,可以发送数据到串口调试助手。
原先对 gpio_initStruct.GPIO_Speed = GPIO_Speed_50MHz; 并不重视,结果出现这样问题,请问 gpio_initStruct.GPIO_Speed = GPIO_Speed_50MHz; 是否很重要?
谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
所谓速度是输出驱动电路的响应速度,对于输入,配置速度则没有意义
一周热门 更多>