2018/3/29
STM32
1.说在前面:
在配置完template之后,今天算是正式进入了STM32的世界,初步了解stm32有着浩如烟海的资料和库函数,所以,学习32编程有着两种方向,第一是建立在操作库函数的基础上,第二是建立在操作寄存器的基础上;实际上,库函数就是封装了一些对寄存器的用法,在操作库函数的基础上了解寄存器
2.第一次点灯实验
点灯过程
1.实现使能时钟(由于每一个寄存器都有一个时钟)
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA ,ENABLE);//GPIOA
2.初始化I/O口
GPIO_Init(GPIOA,&GPIO_InitStruct);
GPIO_Init(GPIOD,&GPIO_InitStruct);
3.对I/O口进行高低电平设置(建立结构体,设置模式,对应的pin口和相应的速度)
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_2;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_SetBits(GPIOD,GPIO_Pin_2);//设置低电平
GPIO_ResetBits(GPIOD,GPIO_Pin_2);//设置低电平
4.对主函数的设定
#include <stm32f10x.h>
#include "LED.H"
int main()
{
LED_init();
while(1)
{
GPIO_SetBits(GPIOA,GPIO_Pin_8);
GPIO_ResetBits(GPIOA,GPIO_Pin_8);
//GPIO_SetBits(GPIOD,GPIO_Pin_2);
//GPIO_ResetBits(GPIOD,GPIO_Pin_2);
}
}
5.自己的一点小见解
对于STM32使用库函数而言,我觉得需要建立一个有逻辑的结构,建立的文件需要有条理,然后查询库函数时候,需要什么就去查什么,现在第一天入手,希望以后会操作的熟练一点吧
注:要是出现了:
..\HAREWARE\LED\LED.c(32): warning: #1-D: last line of file ends without a newline
由于在main函数的}后面没有加回车键引发了这个keli自带的bug