前两天拿到开发板。。。开始搭建开发环境
经过改进最后还是采用比较熟悉的KEIL 的改进版RMDK进行开发!~(51就是采用KEIL)
整个环境配置下来,算是熟悉环境了!参考前几天的积累,动手写个代码点亮一下小灯吧~~
简单写了一个代码后,下载完毕后,小灯一点反应没有~
奇怪。。。 用软件仿真单步调试都能看到对应的IO的电平变化呢。。自己检查对照电路确认无误后
始检查软件
经过仔细检查,终于找到不能点亮小灯的问题所在了,
原来是GPIO端口的时钟没有使能。
得出问题
1、
系统主程序初始化的过程中,
一定要先对外设涉及到的时钟需要通过RCC配置使能外设时钟
然后再进行其他功能设置
小灯的初始化 配置函数如下:
void Led_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); // 开启GPIOB的总线时钟 一定要使能 否则IO口不工作
GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO初始化结构体变量
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12
| GPIO_Pin_13
| GPIO_Pin_14 ; //结构体变量中GPIO_Pin赋值为GPIO_Pin_All;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //结构体变量中GPIO_Speed赋值为GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //结构体变量中GPIO_Mode赋值为GPIO_Mode_Out_PP
GPIO_Init(GPIOB,&GPIO_InitStructure);
}
以后要注意这个教训了~~~