STM32—规则通道和注入通道的知识总结

文章目录

  • 规则序列
  • 注入序列

规则序列

  规则序列寄存器有 3个,分别为 SQR3、SQR2、SQR1。SQR3 控制着规则序列中的第一个到第六个转换,对应的位为:SQ1[4:0]~SQ6[4:0],第一次转换的是位 4:0 SQ1[4:0],如果通道 16 想第一次转换,那么在 SQ1[4:0]写 16 即可。SQR2控制着规则序列中的第 7 到第12 个转换,对应的位为:SQ7[4:0]~SQ12[4:0],如果通道 1 想第 8 个转换,则 SQ8[4:0]写 1即可。SQR1 控制着规则序列中的第 13到第 16 个转换,对应位为:SQ13[4:0]~SQ16[4:0],如果通道 6 想第 10 个转换,则 SQ10[4:0]写 6即可。具体使用多少个通道,由 SQR1 的位L[3:0]决定,最多16 个通道。具体可以参考下图1:STM32—规则通道和注入通道的知识总结_第1张图片

图1. 规则序列寄存器

注入序列

  注入序列寄存器JSQR只有一个,最多支持4个通道,具体多少个由JSQR的 JL [2:0]决定。如果JL的小于4的话(即注入通道小于4),则JSQR跟SQR决定转换顺序的设置不一样,第一次转换的不是JSQR1[4:0],而是JSQRx[4:0],x=(4-JL),跟SQR刚好相反。如果JL=00(1个转换),那么转换的顺序是JSQR4[4:0]开始,而不是从JSQR1[4:0]开始。
STM32—规则通道和注入通道的知识总结_第2张图片

  按照下面图2的规则序列的地址写入,如果4个通道,第一个转换就是JSQR1[4:0],如果没有4个通道,就相反,比如JL=00(1个转换),第一个转换就是从JSQR4[4:0]开始。同理JL=01(2个转换)的时候,第一个转换就是从JSQR3[4:0]开始,即JSQR4[4:0]和JSQR3[4:0]这两个。

STM32—规则通道和注入通道的知识总结_第3张图片
图2. 规则序列

  注:本文版权归作者所有,禁止转载

你可能感兴趣的:(stm32,单片机,arm)