嵌入式系统开发【深入浅出】 GPIO 类设备的驱动程序

目录

GPIO管脚的输出功能相当于控制、输入相当于检测

使用GPIO基本流程

对于某一个管脚来说最多有几种功能?

拓展 【定时器与系统定时器】

决定定时长短的因素: 

普通定时器

系统定时器

STM32F103RBT6的时钟源有哪五种

sysclk 的时钟频率由哪个时钟源提供基础时钟频率

系统定时器有多少个寄存器, 每个寄存器的作用 

计数值的范围


  1. GPIO 类设备的驱动程序 

    1. 全名:general purpose inputs/outputs 通用的输入输出管脚 
    2. STM32F103RBT6  一共有5组  每组有16个管脚 【功能复用 】
    3. CPU是通过总线和外设通信的 故需要通过APB2总线使能GPIO管脚所在组的时钟
      1. AHB  系统内部的高速总线 
      2. APB  外设总线  
    4. GPIO管脚的输出功能相当于控制输入相当于检测

    5. 使用GPIO基本流程

      1. 看硬件电路原理图 
      2. 通过APB2使能GPIOX组的时钟
      3. 初始化GPIO引脚 [Pin、Mode、Speed]
      4. 实现功能
    6. 对于某一个管脚来说最多有几种功能?

      1. 输入
        1. 上拉输入
        2. 下拉输入
        3. 浮空输入
      2. 输出
        1. 开漏输出
        2. 推挽输出
      3. 复用
        1. 开漏复用
        2. 推挽复用
      4. 模拟
        1. 模拟输入功能
  2. 拓展 【定时器与系统定时器】

    1. 粗略的延时
      1. 使用循环语句
    2. 精确的延时
      1. 使用定时器
    3. 决定定时长短的因素: 
      1. 时钟频率
      2. 计数值 
    4. 普通定时器
      1. WDG   本质上也是定时器, 除了定时功能之外, 还可以让系统复位重启

      2. RTC     实时时钟  年 月 日  时 分 秒

    5. 系统定时器
      1. 系统定时器并不是由ST提供的, 而是由arm-core提供 
      2. 三种:systimer systick  sysclk 
    6. STM32F103RBT6的时钟源有哪五种
      1. HSE  系统外部高速时钟
      2. HSI   系统内部高速时钟
      3. PLL  倍频器、乘法器
      4. LSE  系统外部低速时钟
      5. LSI   系统内部低速时钟
    7. sysclk 的时钟频率由哪个时钟源提供基础时钟频率
      1. 因为系统内部时钟源, 比较不稳定, 所以由HSE提供系统时钟的时钟频率
    8. 系统定时器有多少个寄存器, 每个寄存器的作用 
      1. 校准寄存器(CALIB):SysTick->CALIB 寄存器提供了SysTick定时器的校准值和特征信息。其中包含了SysTick的最大重装载值(MAXRELOAD)、SysTick计数器的位宽(BITS)以及是否支持外部时钟源等信息。这些信息可以用于进行精确的时间测量和延时控制。

      2. 当前值寄存器(VAL):SysTick->VAL 寄存器用于记录SysTick定时器的当前计数值。当SysTick计数器递减时,该寄存器的值将不断减小。通过读取该寄存器的值,可以获取当前的计数值,用于实现时间测量、延迟操作等。

      3. 重装载值寄存器(LOAD):SysTick->LOAD 寄存器用于设置SysTick定时器的重装载值。当SysTick计数器计数到0时,会重新装载该寄存器中的值,并触发中断或清零计数器(取决于控制寄存器的配置)。通过设置该寄存器的值,可以确定SysTick定时器的中断或溢出的时间间隔。

      4. 控制和状态寄存器(CTRL):SysTick->CTRL 寄存器用于控制和配置SysTick定时器的工作方式。它包含了使能/禁止定时器、设置中断使能、选择时钟源等控制位。通过对该寄存器的配置,可以启用或停止SysTick定时器,并根据需要配置中断使能、选择时钟源等。

    9. 计数值的范围
      1. 在STM32F103R系列中,SysTick计数器的位宽为24位,其计数值范围应为0 ~ 2^24-1(0至16777215)。在这个范围内,计数器会从重装载值开始递减,并在递减到0时重新装载重装载值,并触发中断或清零计数器。
  3. 重要词汇
    1. peripheral 外设 
    2. prescaler 分频器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值