cubemx spi 中断_在CUBEMX下,使用STM32F103 SPI做从站的笔记

之前做STM32的项目, 一直都用的是标准固件库。最近有个比较简单的项目,就想试试ST强推的开发工具cubemx。

用了下来,感觉CUBEMX的 HAL库做得很模块化,让一些用户远离了底层。但是也有缺点:

1. 各种模块,应用都层次化了,所以调用关系也比自己写繁琐得多。

2.虽然简化了很多应用的开发过程,但也是因为把驱动模块化了,但不灵活,面对一些特殊点的场合,就容易出现问题。

3.一旦代码出问题,找起故障来很麻烦,在各种函数中跳来跳去。比如我在SPI中遇到问题,要查故障,从总中断,跳到TX子服务,然后又执行一个注册的中断处理函数,最后去执行用户回调函数。跳来跳去的。

结论: 即便是用CUBEMX来做项目,还是需要看STM32的用户手册,去了解各种寄存器,各种外设的特点,不然只知道简单用法,不知道执行原理,是没办法排查故障和实现任务的。

好了,现在说说STM32用来做SPI从站的问题。

一  CUbe MX生成代码

首先把SYS,时钟等设好(不多说了)。然后就开始SPI的设置。

我把SPI pin 设置为从站,关闭 NSS,并将PA4作为EXTI4 。使用EXTI4作为一个数据帧的起始标志。

当然,也可以不用EXTI4做帧起始,而用定时器来识别帧的起始字节( 通信时间间隔大于XXMS,代表开始了新的通信帧)。

在 configuration中,做参数设置&#x

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值