各位前辈好!菜鸟新人第一次用STM32f205 写了一段最简单的程序,想设置端口A2输出为高,如下
#include "stm32f2xx.h"
int main(void)
{
while(1)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_SetBits(GPIOA,GPIO_Pin_2);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_Init(GPIOA,&GPIO_InitStructure);
RCC_MCO1Config(RCC_MCO1Source_HSI,RCC_MCO1Div_1);
}
}
系统时钟按照官方STM32F2xx_Clock_Configuration_V1.0.0.xls 用内部时钟HSI设置成了50MHz,生成文件system_stm32f2xx.c添加到工程里了。
现在的问题是端口A2为低。不知道问题在哪里。系统时钟50MHz的话,端口速度设成GPIO_Speed_100MHz有问题吗? A2是悬空的,没有接电阻,设置成PuPd_DOWN对吗?另外设置了一下A8脚时钟输出,也没看到有输出,不知道上面的写法是否有问题。我感觉是不是时钟设置的问题更大呢?
第一次接触stm32,完全没有概念,请各位前辈多多指点,谢谢啦!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
RCC_APB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);有问题,再者,不该写在循环里,然后system_stm32f2xx.c文件最好是在官方库函数基础上自己修改,那个表格可以参考,但是一般不要直接用
多谢指点!终于改好了!
一周热门 更多>