本帖最后由 quyifei 于 2013-6-6 15:10 编辑
攸米板上有4个LED,红黄蓝绿,这次要讲的例程就是让LED逐个闪烁,USER按键可以控制停止或者继续。 先看一个视频。
我经常在想如何去写实验笔记。 我的笔记肯定是给初学者看的。对于初学者,要学的东西很多,如果面面俱到,深入到细节,往往会有只见树木不见森林的感觉,说的直白点就是晕。 我的建议是先从大处入手,先有一个框架,不要深入细节,然后再逐步的细化。 我的笔记也会是这样,从整体介绍,点出一些要点。 细节问题就交给Reference Manual了。
对每一个实验, 都会有硬件和软件的部分, 我会分别介绍。
硬件连接 攸米板上4个LED分别和PB12~15连接,原理图见下。 输出高电平LED亮。 板上还有一个USER按键,未按时PB11低电平,按下时PB11高电平。 软件说明 对所有的外设,STM32的配置的方法都是一样的。
1. 想要启动外设的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
2. 对外设配置,一般都要用到一个init函数
GPIO_Init(GPIOB, &GPIO_InitStructure);
3.下面就是对外设的操作了
读GPIO
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11);
写GPIO
GPIO_ResetBits(GPIOB, GPIO_Pin_13);
GPIO_SetBits(GPIOB, GPIO_Pin_14);
4. 本例还对Systick进行了配置,配置为1000Hz
SysTick_Config(SystemCoreClock / 1000);
5. 对USER按键采用查询方式,每次systick中断时都会查询一次,也就是每1ms查询一次。
对于初学者,不懂的问题一定比较多。我建议把更多的时间放在实践上,而不是去看理论。 缺少了实践,理论会越看越晕。 建议大家执行源代码,源代码中有充分的注释。 单步执行,一条一条看下去,看看每条语句是做什么用的。
这个例程也是一个非常好的模板,我今后提供的例程都会基于这个模板。
|