这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 国产ARM航顺的HK32F030C8,它的SPI好像有BUG!

共1条 1/1 1 跳转至

国产ARM航顺的HK32F030C8,它的SPI好像有BUG!

工程师
2020-11-25 21:25:44     打赏

我们公司有一款产品原先用的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);问题解决!


正确时序:


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




关键词: HK32F030C8     HK32     国产ARM    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]