[技术问答] 国产ARM航顺的HK32F030C8,它的SPI好像有BUG!

[复制链接]
 楼主| cr315 发表于 2022-11-11 10:43 | 显示全部楼层 |阅读模式
ARM, BUG, UG, pi, spi

我们公司有一款产品原先用的STM32F030C8,出货很久了,因某些原因改用了国产航顺的HK32F030C8。结果发现显示屏无显示,程序是一样的,于是接逻辑分析议看看。发现下面这段代码在STM上没问题,但在HK上有问题:


while((SPI1->SR & SPI_SR_BSY) > 0);

My_GPIO_WriteLow(DisplayCS_P);

SPI1->DR = 0x11;

while((SPI1->SR & SPI_SR_BSY) > 0);

My_GPIO_WriteHigh(DisplayCS_P);


HK32运行的结果:


可见DR刚写入马上读SPI_SR_BSY标志,结果是空闲!
试了几个方法,都不太理想,最后将while((SPI1->SR & SPI_SR_BSY) > 0);改为while((SPI1->SR & (SPI_SR_BSY | SPI_SR_FTLVL)) > 0);问题解决!


正确时序:


不知道各位有没有遇到过这个问题?最后是怎么解决的呢?


yeates333 发表于 2022-12-3 12:33 | 显示全部楼层
这个硬件spi也有问题的吗?              
xiaoyaodz 发表于 2022-12-3 14:11 | 显示全部楼层
是不是显示屏需要上拉电阻呢?              
AloneKaven 发表于 2023-1-3 16:54 | 显示全部楼层
硬件spi有问题吗?
caigang13 发表于 2023-1-5 08:24 来自手机 | 显示全部楼层
软件没修改的吗?
jkl21 发表于 2023-2-4 11:41 | 显示全部楼层
这个spi有什么问题呢?              
bartonalfred 发表于 2023-2-4 13:07 | 显示全部楼层
没有遇到过,不行就模拟spi吧。
lzmm 发表于 2023-2-4 13:58 | 显示全部楼层
这个spi不使用dma,没有问题。
bartonalfred 发表于 2023-2-4 15:56 | 显示全部楼层
不是只有硬件IIC才有BUG吗?
albertaabbot 发表于 2023-2-4 23:19 | 显示全部楼层
HK32F030C8的性能还是不错的。
alxd 发表于 2023-2-13 13:18 | 显示全部楼层
是不是你的程序弄错了啊?我用它这个SPI没啥问题啊
Carina卡 发表于 2023-2-13 14:27 | 显示全部楼层
你这个bug是时序弄错了么?
Estelle1999 发表于 2023-2-13 15:25 | 显示全部楼层
估计是你逻辑没做好吧,或许是时钟配置有点问题
Charlene沙 发表于 2023-2-13 16:20 | 显示全部楼层
按理来说,航顺的这颗芯片的硬件SPI是没啥问题的
Betty996 发表于 2023-2-13 17:32 | 显示全部楼层
你用示波器抓的波形也是有问题的么?
Annie556 发表于 2023-2-14 06:16 | 显示全部楼层
你用ST的固件库试试吧,估计就没啥问题了
Belle1257 发表于 2023-2-14 08:22 | 显示全部楼层
应该不可能吧,它俩是基本完全兼容的了
B1lanche 发表于 2023-2-14 09:37 | 显示全部楼层
这种问题还是问问航顺的技术支持吧,看看他们咋说吧
Carmen7 发表于 2023-2-14 10:18 | 显示全部楼层
是不是不兼容啊?你得改改程序吧
Alina艾 发表于 2023-2-14 13:45 | 显示全部楼层
你用硬件SPI的话,时序是自动控制的嘞
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1450

主题

4812

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部