搜索

[KungFu32位 MCU] 成功解决KF32F350官方例程中SPI_FLASH读取乱码的问题。

[复制链接]
9932|10
手机看帖
扫描二维码
随时随地手机跟帖
编号10086|  楼主 | 2021-7-23 13:49 | 显示全部楼层 |阅读模式
KF32F350_SPI.zip (1.97 MB, 下载次数: 15)

使用特权

评论回复
编号10086|  楼主 | 2021-7-23 13:52 | 显示全部楼层
另外我怀疑是不是KF32手册中SYSTICK章节的中,嘀嗒定时器时钟源的地方写反了。

因为安富莱例程中测试了读写时间,我发现测试得到的时间比真实值大了一倍。然后才去查嘀嗒中断的时间,发现是2ms。
而我是按照手册计算得出的明明是1ms。

所以我会怀疑是不是手册写反了。把SCLK写错为了SCLK/2???

使用特权

评论回复
编号10086|  楼主 | 2021-7-23 13:55 | 显示全部楼层
我定时器配置在bsp_timer.c/bsp_InitTimer这个函数中。
大家如果有官方开发板的话,可以帮我测试一下这个程序。

看看是不是手册里ST_CTL寄存器的STCLKS描述写反了?

使用特权

评论回复
编号10086|  楼主 | 2021-7-23 14:03 | 显示全部楼层
编号10086 发表于 2021-7-23 13:52
另外我怀疑是不是KF32手册中SYSTICK章节的中,嘀嗒定时器时钟源的地方写反了。

因为安富莱例程中测试了读 ...

我知道了...原来还有一个STCLKREF位和ST_CTL->STCLKS共同控制时钟源...所以我之前的配置其实没起到作用...

使用特权

评论回复
sparrow054| | 2021-8-11 15:29 | 显示全部楼层
是时钟配置的问题么

使用特权

评论回复
编号10086|  楼主 | 2021-8-12 08:50 | 显示全部楼层
sparrow054 发表于 2021-8-11 15:29
是时钟配置的问题么

不是。
1.我怀疑这个板子的硬件SPI可能就是有问题的。
2.这个帖子中遇到的问题:SPI有四种模式,板载的SPI_FLASH支持其中两种。但是官方配置的不是这两种。
可是,还是虽然配置错误,SPI的数据还是可以歪歪扭扭的读出来,只是有一部分乱码。把模式改回去,就不会有乱码了。

3.但是后来我还是遇到了问题,这个帖子里面没贴(因为后来我不用芯旺微了,所以没有去深究它)
这个问题就是多个SPI设备用同一个MISO,MOSI,CLK线的场景,我把两个SPI设备(他们CS线不同,其余都相同)连到同一个SPI线上,出现了一个问题,就是只接入一个设备的时候,是可以正常通讯的。接入第二个设备,第一个设备读写就乱码了。(后来我想用软件SPI去做,不过由于要移植另外一款芯片,就没有继续深究这个问题了,我觉得改成软件SPI应该就可以解决这个问题。)

使用特权

评论回复
编号10086|  楼主 | 2021-8-12 08:54 | 显示全部楼层
sparrow054 发表于 2021-8-11 15:29
是时钟配置的问题么

时钟配置,是由于安富莱例程中,提供了程序执行时间测试的函数。
我用这个函数去测试SPI_FLASH读写时间,发现比实际电脑时钟的时间长1倍。

后来就去找原因,发现了芯旺微如果要配置时钟的话,需要设置两个地方。
这个导致了,我之前配置的参数没有起到作用,整体嘀嗒时钟从1ms变成了2ms。

之前一直没有发现这个问题,算是写这个SPI程序附带找到原先程序中存在的一个BUG吧,但是这个不是SPI读写乱码的原因。

使用特权

评论回复
daichaodai| | 2021-8-13 21:05 | 显示全部楼层
谢谢楼主,最近刚好在学习这块的代码。

使用特权

评论回复
sparrow054| | 2021-9-2 09:11 | 显示全部楼层
编号10086 发表于 2021-8-12 08:54
时钟配置,是由于安富莱例程中,提供了程序执行时间测试的函数。
我用这个函数去测试SPI_FLASH读写时间, ...

真不错,学习了

使用特权

评论回复
感谢楼主的分享,不错的经验。

使用特权

评论回复
caigang13| | 2021-9-7 12:32 | 显示全部楼层
谢谢楼主分享避坑经验

使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 21小跑堂 打赏20.00元   4天前

    打赏帖:#申请原创# @21小跑堂@21小跑堂@21小跑堂 大 ...

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:希望我的问题都能回答

  • 21小跑堂 打赏4.00元   4天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:参加欧姆龙在线研讨会

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:本次讲座问题截图

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:学习学习再学习

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:5

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:得到打赏,

  • 1 火星国务卿 得到打赏 ¥425.00
  • 2 yanzhengxin1 得到打赏 ¥300.00
  • 3 gaoyang9992006 得到打赏 ¥265.00
  • 4 Gavin3389 得到打赏 ¥225.00
  • 5 13426257085 得到打赏 ¥200.00
  • 6 呐咯密密 得到打赏 ¥185.00
  • 7 两只袜子 得到打赏 ¥155.00
  • 8 yangjiaxu 得到打赏 ¥155.00
  • 9 cr315 得到打赏 ¥150.00
  • 10 elephant00 得到打赏 ¥150.00
在线客服 快速回复 返回顶部 返回列表