跟我学STM32107RC--- STM32中的跑马灯实验总结

来源:互联网 发布:sql批量修改字段值 编辑:程序博客网 时间:2024/05/01 03:59

一、STM32中的跑马灯实验总结

 

 1GPIO4种输入模式和4种输出模式,以及3中最大输出速度:

     输入浮空               推挽输出                2MHz                        

     输入上拉               推挽复用输出            10MHz              

     输入下拉               开漏输出                50MHz                   

     模拟输入               开漏复用功能                          

 

2、点亮LED指示灯GPIO一般采用 推挽输出    (可以输出高低电平)   ;不采用开漏输出(只可以输出地电平)。 

      0805封装 LED指示灯,一般额定电流20mA。在实际使用中基本都是5-8MA最保险,寿命最长。所以限流电阻采用510欧。
 
3GPIO_Init函数
GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)   
 GPIO_TypeDef* GPIOx    ----------  查看函数有效性assert_param(IS_GPIO_ALL_PERIPH(GPIOx));可知道 GPIOx的有效性为一下函数:    #define IS_GPIO_ALL_PERIPH(PERIPH) (((PERIPH) == GPIOA) || \
                                    ((PERIPH) == GPIOB) || \
                                    ((PERIPH) == GPIOC) || \
                                    ((PERIPH) == GPIOD) || \
                                    ((PERIPH) == GPIOE) || \
                                    ((PERIPH) == GPIOF) || \
                                    ((PERIPH) == GPIOG))
 
GPIO_InitTypeDef* GPIO_InitStruct ----------  查看函数
typedef struct
{
  uint16_t GPIO_Pin;                                                   
  GPIOSpeed_TypeDef GPIO_Speed; 
  GPIOMode_TypeDef GPIO_Mode;   
}GPIO_InitTypeDef;
三个条件   1GPIO端口   2、端口速度    3、端口模式
  可以继续----------  查看函数有效性assert_param(IS_GPIO_MODE(GPIO_InitStruct->GPIO_Mode));
assert_param(IS_GPIO_PIN(GPIO_InitStruct->GPIO_Pin));
assert_param(IS_GPIO_SPEED(GPIO_InitStruct->GPIO_Speed));

 

4GPIO_SetBits(GPIOA,GPIO_Pin_8); 等函数以此类推。

 

5、函数流程
 使能IO口时钟。调用函数RCC_APB2PeriphColckCmd();
       不同的IO组,调用的时钟使能函数不一样。
 初始化IO口模式。调用函数GPIO_Init();
 操作IO口,输出高低电平。
     GPIO_SetBits();
     GPIO_ResetBits();
 
0 0
原创粉丝点击