最近stm32f103的最小系统板到了,复习+实操了LED闪烁,流水灯,按键点亮LED,蜂鸣器等。浅浅总结一下
一.基本过程
初始化时钟,定义结构体,初始化结构体,赋值结构体
GPIO_Mode 选择八种输入模式
GPIO_Pin 选择引脚,可以按按位或选择多种
GPIO_speed输出速度可以选择多种 一般50HZ
最后使用GPIO_Init 函数将指定将指定外设初始化好
八个读写GPIO的函数
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);
uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);
为什么要模块化编程?
模块化编程,尽量把每个硬件的驱动函数提取出来,封装在.c,.h文件中,简化主函数逻辑
一些小Tip
1.发光二极管脚长是正极,内部较小是正极
2.插面包板插不上怎么办? 先用杜邦线插一些然后大力出奇迹