打印

STM32F0的PB9和PB10引脚输出问题

[复制链接]
2751|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 guo__qiu 于 2013-6-21 15:22 编辑

硬件:STM32F0DISCOVERY的开发板(STM32f051R8T6);
软件:Keil v4.60。

遇到的问题是:
PB9用作推挽输出时电平在1~3V之间。
PB10用作推挽输出时下拉会有500us的延时。

CH1接入为:PB9
CH2接入为:PB10
PB9和PB10波形如图1-1所示:

图1-1PB9和PB10波形图

程序代码很简单,配置PB9和PB10为推挽输出方式,在主程序中进行置位和复位。
主程序:
int main(void)
{
         GPIO_Configuration();   
         while(1)
         {
                  GPIO_SetBits(GPIOB, GPIO_Pin_9);
                   GPIO_SetBits(GPIOB,GPIO_Pin_10);
                   my_delay(20000);
                   GPIO_ResetBits(GPIOB,GPIO_Pin_9);
                   GPIO_ResetBits(GPIOB,GPIO_Pin_10);
                   my_delay(20000);            
         }
}
void GPIO_Configuration(void)
{
         GPIO_InitTypeDef        GPIO_InitStructure;

         RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
         GPIO_InitStructure.GPIO_Pin          = GPIO_Pin_9 | GPIO_Pin_10;
         GPIO_InitStructure.GPIO_Mode      = GPIO_Mode_OUT;        
         GPIO_InitStructure.GPIO_OType    =GPIO_OType_PP;  
         GPIO_InitStructure.GPIO_Speed     = GPIO_Speed_50MHz;
         GPIO_InitStructure.GPIO_PuPd       = GPIO_PuPd_NOPULL;

         GPIO_Init(GPIOB,&GPIO_InitStructure);        
}
void my_delay(long length)
{
         while(length >=0)             length--;
}
        
刚刚接触到STM32,别的引脚都还正常,为什么会出现如上现象呢?





沙发
guo__qiu|  楼主 | 2013-6-21 16:47 | 只看该作者
我现在要用stm32来控制射频芯片,用到这两个I/O口的时候发现了这个问题,给st官方的一个代理打电话,他也没有说清楚,说推挽能力不足,推挽不足为什么在下拉的时候会出现延时呢?还请各位前辈指教。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

粉丝