STM32L431之SPI时钟过高导致无法通信
来源:互联网 发布:单片机电源插口 编辑:程序博客网 时间:2024/06/04 18:27
现象:
SPI的clock为2Mhz时通信正常,如果是4Mhz甚至更高则无法通信。卡死在
while (0 == (SPI1->SR & SPI_SR_TXE));
通过逻辑分析仪查看时钟时发现写数据时只出现4个时钟脉冲,后续一直为高。
如果查看SPI时钟频率2Mhz时的时钟如下图所示
可以发现第一个时钟的占空比还算正常,后续的占空比逐渐增加,到第八个时钟时已经达到88%。
原因
原理图上,SPI的时钟加了一个RC滤波电路
电容设计时为1nF,但是实际测量时偏大(10nF),导致截止频率下降,当时钟频率过高时就会被滤波。
解决方法
去掉电容或者换个540pF的电容,时钟频率提高之后通信依然正常。
0 0
- STM32L431之SPI时钟过高导致无法通信
- STM32L431之SPI时钟翻倍问题
- STM32之SPI通信
- android版本过高导致下载软件后无法自动安装
- STM32 SPI通信时钟极性和相位设置
- STM32学习之路之SPI通信
- STM32L431之MDK-ARM单步调试错乱
- 子网掩码错误导致无法正常通信
- SPI通信
- SPI通信
- spi通信
- SPI通信
- SPI通信
- SPI通信
- SPI通信
- SPI通信
- SPI通信
- SPI通信
- 屏幕适配和Android单位总结
- webpack使用--loader和插件
- 点击table的td单元格出现dialog弹窗,获取值后将值放回td单元格
- 怎样获取apk的package 和 activity
- Codeforces755D (segment tree,implementation)
- STM32L431之SPI时钟过高导致无法通信
- windows 拨号和linux拨号
- 【POJ】3281 Dining
- 投简历的事情~
- Get传值乱码
- Python爬虫实战之使用Scrapy爬起点网的完本小说
- Python 常用库与框架
- jsp + servlet + jdbc标配web项目,内含日志,防止sql注入,与XSS
- 利用Map中封装数据到javabean中