stm32的GPIO输出高电平不成功。求高手指点!!

代码如下:
#include <stm32f10x_gpio.h>
#include <stm32f10x_conf.h>
#include <GPIO_STM32F10x.h>
#include <stm32f10x.h>
#include <stm32f10x_rcc.h>
#include <misc.h>

int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;

GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP;

GPIO_InitStructure.GPIO_Speed =GPIO_Speed_2MHz;

GPIO_Init(GPIOA, &GPIO_InitStructure);

while(1){
GPIO_SetBits(GPIOA,GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);
}
}
所用的芯片是stm32f103c8t6,确定gpio是挂在apb2的。置位的那一句在循环内、外都试过。
检测时在gpio A 的 6,7,8,9都接过电阻,但都没测到电压。。
求高手解答。如果实在没什么问题,那可能就是烧录的问题了?

烧完程序看看GPIOA->ODR寄存器,看看6,7,8,9是不是1,要不你直接在while循环里写GPIOA->ODR=0xffff;试试
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答