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

一、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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值