GPIO_Speed 对串口发送的影响,不能发送??

2019-07-25 18:05发布

今天在用串口时候,出现一个问题,不能理解,故发帖求助

问题描述:
       在使用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;  是否很重要?   
谢谢

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
lvkanger
1楼-- · 2019-07-25 20:06
没有这句,等于是MODE位为00,也就是配置为输入模式了,当然不行了。
xlong_06
2楼-- · 2019-07-25 21:50
这准备工作当然重要,都是不能忽略的,否则单片机就按照默认的方式弄了。以前你重视可能是另外的程序部分指定了,所以没有出现问题。
蕊蕊
3楼-- · 2019-07-26 02:49
战舰程序源码实验3按键输入中KEY_INIT中没有配置引脚速度,那速度到底是多少呢
宫本无三四
4楼-- · 2019-07-26 05:53
蕊蕊 发表于 2017-11-7 15:05
战舰程序源码实验3按键输入中KEY_INIT中没有配置引脚速度,那速度到底是多少呢

所谓速度是输出驱动电路的响应速度,对于输入,配置速度则没有意义

一周热门 更多>