本帖最后由 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,别的引脚都还正常,为什么会出现如上现象呢?
|