STM32常见应用解析(2)

使用USART操作SPI设备

  • 为什么需要USART产生SPI信号
    • 片上SPI接口不够用
    • 需要特殊的数据格式:9位/字节
    • 或需要带奇偶检验的数据字节
      • (7位数据+奇偶位)/字节
      • (8位数据+奇偶位)/字节
  • SPI接口有以下属性
    • 四条信号线:MISO & MOSI & SCK (&NSS)
    • 时钟相位和极性 CPOL & CPHA
    • 数据帧格式:MSB / LSB
  • USART接口以及时序要求
    • RX & TX & SCLK
    • 时钟相位和极性 CPOL & CPHA
    • 数据帧格式:8/9位数据 (start和stop位没有对应的时钟脉冲)
    • 最大时钟频率: 4.5MHz

USART同步方式时序
在这里插入图片描述

NVIC的优先级

  • 为什么中断要有优先级
  • 何为占先式优先级 (pre-emption priority)
    • 高占先式优先级的中断事件会打断当前的主程序 / 中断程序运行——抢断式优先响应,俗称中断嵌套。
  • 何为副优先级 (subpriority)
    • 在占先式优先级相同的情况下,高副优先级的中断优先被响应;
    • 在占先式优先级相同的情况下,如果有低副优先级中断正在执行, 高副优先级的中断要等待已被响应的低副优先级中断执行结束后才 能得到响应——非抢断式响应(不能嵌套)。
  • 判断中断是否会被响应的依据
    • 首先是占先式优先级,其次是副优先级;
    • 占先式优先级决定是否会有中断嵌套;
    • Reset、NMI、Hard Fault 优先级为负(高于普通中断优先级)且不可调整。

配置STM32中断的优先级
每一个中断都有一个专门的寄存器 (Interrupt Priority Registers) 来描述该中断的占先式优先级及副优先级,在这个寄存器中STM32使用4个二进制位描述优先级(Cortex-M3定义了8位,但STM32只使用了4位)
占先式优先级与副优先级的分配:4个描述优先级位有下列5种组合使用方式, “优先级组别”决定如何解释这4位。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值