sp@cai 发表于 2020-10-30 15:44

HK32F030C8硬件SPI踩坑与填坑

本帖最后由 sp@cai 于 2020-10-30 16:34 编辑

我们公司有一款产品原先用的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);
在HK上的结果:

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

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

HSXP063 发表于 2020-11-1 13:02

不理解为什么(SPI_SR_BSY | SPI_SR_FTLVL))   这个就可以,   你与上SPI_SR_FTLVL 这个和原来SPI1->SR & SPI_SR_BSY)没区别吧

sp@cai 发表于 2020-11-24 17:23

本帖最后由 sp@cai 于 2020-11-24 17:33 编辑

HSXP063 发表于 2020-11-1 13:02
不理解为什么(SPI_SR_BSY | SPI_SR_FTLVL))   这个就可以,   你与上SPI_SR_FTLVL 这个和原来SPI1->SR & SP ...
实践测试就是这样,我使用最高主频运行的,可能是运行速度太快,航顺MCU的SPI_SR_BSY标志更新慢了一点,而SPI_SR_FTLVL更新快。没有试过降低主频测试,你可以试试。

chenjun89 发表于 2020-11-25 08:23

有些坑总需要有人去踩,厂家才能进步。

两只袜子 发表于 2020-11-25 09:11

哈哈哈,楼上的人说的太经典了,确实是这样的,多踩坑厂家才能进步

jcky001 发表于 2020-11-25 09:14

一边踩坑一边填坑,楼主收获不小啊

jackzhang0519 发表于 2020-11-26 09:45

您好!我司有代理一款CKS-中科芯的国产MCU,可以PTP软硬兼容STM32F103,030,031,051,072系列相关MCU,需要样品及技术支持可以联系我,张生: 158 1409 1680,(仅支持终端,供货稳定),感谢支持

steelen 发表于 2020-12-2 12:09

sp@cai 发表于 2020-11-24 17:23
实践测试就是这样,我使用最高主频运行的,可能是运行速度太快,航顺MCU的SPI_SR_BSY标志更新慢了一点,而 ...

估计是航顺MCU的SPI_SR_BSY是以SPI_CLK时钟更新的

sp@cai 发表于 2020-12-7 15:32

steelen 发表于 2020-12-2 12:09
估计是航顺MCU的SPI_SR_BSY是以SPI_CLK时钟更新的

这个只有厂家知道了。这个问题在大部分的应用是没有影响的,只有在单次片选只发送一个字节数据时才会出现。

嵌入小菜菜 发表于 2020-12-8 21:40

软件模拟吧,我认为软件模拟也是可以的。

yangxiaor520 发表于 2020-12-9 08:23

现在国产MCU不论是芯片还是软件上都是仿隔壁家的,没有自己的创新,有些问题可能厂家自己都不知道,只有等用户去找bug。

sp@cai 发表于 2020-12-12 15:48

yangxiaor520 发表于 2020-12-9 08:23
现在国产MCU不论是芯片还是软件上都是仿隔壁家的,没有自己的创新,有些问题可能厂家自己都不知道,只有等 ...

国外芯片也很多BUG,看一下意法的STM32系MCU的勘误表,填了很多坑。
国内的“后发优势”反而没有那么多BUG。
国产MCU虽然很多“仿”制,但是有些厂家一直尝试着创新,看着像是一样的,其实有些细节方面也加入了自己的特色。

sp@cai 发表于 2020-12-12 15:59

嵌入小菜菜 发表于 2020-12-8 21:40
软件模拟吧,我认为软件模拟也是可以的。

软件模拟的效率太低,而且数据速率也做不高。 比如我使用的TFT屏,若速率低了画面不流畅。

名字是啥样 发表于 2020-12-12 16:52

感谢分享,不错的帖子,很棒。

便携手到老 发表于 2020-12-12 17:23

感谢楼主的分享,我好像也入坑了。哈哈

fuqinyyy 发表于 2020-12-13 17:25

踩的坑越多,成长得越快啊。

wangjunzhuyu 发表于 2020-12-16 17:11

我们是航顺原厂技术支持,麻烦留一个微信,我们确认一下。

wangjunzhuyu 发表于 2020-12-16 17:14

请告知一下,HSE+PLL还是HSI+PLL,   工作频率是72MHz吗? SPI 工作频率呐?

明天真的好 发表于 2020-12-17 20:12

感谢楼主的分享,这个技术贴收藏了。

sp@cai 发表于 2020-12-29 11:57

wangjunzhuyu 发表于 2020-12-16 17:14
请告知一下,HSE+PLL还是HSI+PLL,   工作频率是72MHz吗? SPI 工作频率呐?

使用HSI+PLL,主频16MHz,SPI频率8MHz
页: [1] 2 3 4
查看完整版本: HK32F030C8硬件SPI踩坑与填坑