STM32 HAL库学习笔记:知识点概览及详解(共180点)

1.和mos管有关

2.

3.

4.

5.

6.

7.mos管等效于开关

8.

9.

10。

11.原则是选择满足要求的最小值,过快的上升沿和下降沿会增加芯片的功耗,同时使得数字信号的带宽增加,从而导致对电路板的其他元器件产生电磁干扰

12.

选择Serial Wire(SWD,串行线调试)作为debug模式,主要基于以下原因:

引脚资源占用少

SWD仅需SWDIO(串行线数据)和SWCLK(串行线时钟)两根引脚即可实现调试功能 。相比JTAG(联合测试行动小组)接口,通常需要5根引脚(TCK、TMS、TDI、TDO、nTRST ) ,在引脚资源紧张的单片机项目中,SWD能节省大量GPIO引脚,让这些引脚可用于其他功能实现,提升硬件资源利用率。

通信稳定性和可靠性高

• 抗干扰能力强:SWD采用差分信号传输原理,对噪声和干扰有较好的抵抗能力,在复杂电磁环境下,也能稳定地进行调试通信,保障调试过程中数据传输的准确性和完整性。

• 大数据量传输优势:在传输大数据量(如下载较大的程序代码)时,JTAG下载程序可能会因各种干扰因素导致失败,而SWD发生传输失败的几率相对小很多 ,可更可靠地完成程序下载与调试数据交互。

受用户程序干扰小

调试过程中,若用户程序存在逻辑错误,可能会影响JTAG下载程序的正常执行。而SWD模式下,即便用户程序有错误,也可通过持续复位等方式,避免用户程序干扰,保证调试器与芯片之间的正常通信,从而正常下载程序 ,便于开发者排查和解决程序问题。

开发工具支持良好

大多数主流的STM32开发工具(如STM32CubeMX、Keil MDK、IAR Embedded Workbench等 )都对SWD模式提供了良好支持,方便开发者进行配置和使用。

硬件成本与复杂度低

相比于JTAG接口需要更多引脚和复杂连接,SWD接口硬件设计简单,所需的外围电路元件更少,可降低硬件成本,简化电路板布线设计 ,尤其适用于小型化、低成本的嵌入式系统开发。

13.

14.

PC13 开漏亮灭原因

  • 硬件特性:开漏输出没有高电平驱动能力 。当输出低电平(0)时,相当于提供了 GND,若外部电路连接合适(如 LED 负极接 PC13,正极接外部电源),此时 LED 等负载会有电流通过,从而点亮;当输出高电平(1)时,电路处于高阻态,无法输出高电平驱动负载,LED 没有电流通过,所以熄灭。
  • 程序设置:在程序中可能按照一定逻辑定时或根据条件改变 PC13 引脚输出电平,从而实现亮灭交替。比如在循环中不断切换输出电平,或者在中断服务函数里改变其电平状态 。
  • PA9 推挽灭亮原因

  • 硬件特性:推挽输出有一定驱动能力。默认情况下可能输出低电平(0),此时若连接 LED 等负载,由于没有足够驱动电流,LED 不亮;当程序将其输出设置为高电平(1)时,推挽输出能够提供驱动电流,使 LED 等负载导通,从而点亮 。
  • 程序逻辑:程序中编写了改变 PA9 引脚电平的代码。例如,在初始化后,通过循环语句、条件判断语句等控制 PA9 引脚电平在 0 和 1 之间切换,进而实现灭亮交替的效果 。
  • 15.

    16.

    17.

    18.

    19.

    20.

    21.

    22.
     

    23.没选SW的话

    24.

    25.

    26.

    27.

    输出模式

    1. 通用输出推挽:可输出高、低电平,具备较强驱动能力。高电平时能提供电流驱动负载,低电平时可吸收电流,常用于驱动像 LED 等简单负载。
    2. 通用输出开漏:只能输出低电平,高电平靠外部上拉电阻实现。常用于 I2C 等需要 “线与” 功能的总线通信,多个开漏输出引脚可直接相连,通过上拉电阻实现电平逻辑。
    3. 复用输出推挽:与通用输出推挽类似,但引脚功能被复用,用于片内外设功能输出,如定时器的 PWM 输出等,能提供较强驱动能力。
    4. 复用输出开漏:和通用输出开漏类似,引脚功能被复用,用于有 “线与” 需求的片内外设功能输出,如 I2C 等总线的复用引脚 。

    输入模式

    1. 输入上拉:引脚内部接上拉电阻,引脚悬空时默认呈高电平,用于检测外部低电平信号输入,可增强输入信号稳定性。
    2. 输入下拉:引脚内部接下拉电阻,引脚悬空时默认呈低电平,用于检测外部高电平信号输入,提高输入信号抗干扰能力。
    3. 输入浮空:引脚既不上拉也不下拉,电平完全由外部输入决定,对输入信号无预处理,常用于需要精确读取外部电平的场景。
    4. 模拟模式:用于接入模拟信号,此时引脚关闭数字输入输出功能,将模拟信号直接传输到片内模拟电路,如 ADC(模拟数字转换器)进行模数转换 。

    28.

    29.

    30.

    31.

    32.

    33.

    34.

    35.

    36.

    37.

    38.

    39.

    40.

    41.

    42.

    43.

    44.

    45.

    46.

    47.

    48.

    49.

    50.

    51.

    52.

    52.

    53.类比

    54.

    55.

    56.

    57.内部不需要,外部需要时钟信号

    58.

    59.

    60.

    61.

    62.分频器(AHBAPB1APB2)的作用

    63.小树

    64.大树

    65.AHB分频器产生的时钟信号叫HCLK(最高频率为72Mmax

    66.APB1分频器产生的时钟信号叫PLCK1(最高为36Mmax

    67.66.APB2分频器产生的时钟信号叫PLCK2(最高为72Mmax

    68.特殊模块的时钟配置

    69.

    70.

    71

    .keil如何关闭代码优化

    72.

    72.

    73.右边就是用外接晶振

    用晶振的选第二个

    74.

    75.关于SPI

    76.波特率

    对于面包板波特率一般选10Mbps,超了就容易产生比较严重干扰

    77.波特率

    78.一般情况下波特率

    79.

    80.先说极性再说相位

    81.关于按键按下和抬起的时刻如何捕捉

    82.

    HAL库里面ret表示高电平,reset表示低电平

    83.

    83.

    84.关于SPI的设置

    一般情况下

    一般用不到

    85.

    为了电路稳定选低波特率

    是SCK

    86.

    87.所以一般延迟100ms

    88.

    89.

    90.

    91.

    92.效果一样

    93.

    94.

    95.

    96.

    97.预分频器PSC

    98.

    99.

    100.关于计数器CNT和自动重装寄存器ARR

    101.不需要了解中心对齐

    102.

    103.实现手表每转5圈响一次的功能

    104.

    105.

    106.关于定时器TIM

    107.CNT的计数方向

    108.

    109.可以手动,为了安全起见

    110.

    111.

    112.

    114.

    115.

    116.

    116.

    117.

    118.

    119.

    120.用上了计算,所以加上math.h头文件

    121.

    122.

    123.

    124.关于超声波模块

    125.

    126.

    127.

    128.

    129.最小只能延长1000us,大太多了,所以换一种方式

    130.

    131.

    132.

    133.

    134.

    135.

    136.TRGI定时器触发输入

    137.

    138.

    139.

    140.

     

    141.

    142.

    143.

    144.

    145.

    146.

    147.

    148.ADC内部图

    149.

    150.

    151.

    152.

    153.

    154.

    155.

    156.

    157.

    158.vofa+

    159.

    160.

    161.

    结果为1010

    162.

    163.
     

    164.

    165.

    166.特性决定

    167.

    168.

    169.

    170.

    171.

    采样时间

    写成周期

    172.

    173.

    174.

    175.

    就出现

    176.

    177.

    178.

    179.结果寄存器

    180.ADC

    作者:DIY机器人工房

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32 HAL库学习笔记:知识点概览及详解(共180点)

    发表回复