吐槽下stm32F0的坑。。顺便问下SPI的问题。。
材料:STM32F030x8部件:SPI2
问题描述:工作需要,最近使用stm32f030做了一款总线数据采集器,产品已经完成,芯片还有很大一部分资源剩余,就想这个给程序加个升级功能.板子的上级是个PC用串口和板子通信,下级是一堆stm8的传感器.准备将PC的给程序镜像先存在25x16这个flash里面,然后下发~~升级~.然后。。。先是用不小心把SWD口用了。。。悲剧地烧录不进去了(山寨stlink-v2),终于解决了吧(怎么解决的我就不用说了,都是少了rst引脚的错),SPI口又来捣乱,先是习惯的依照stm8的套路直接操作SPIx->DR,发现怎么都不对。上示波器。。妈呀。030君。。。我要的是8为。你为啥发了16个时钟出来?摆渡。。摆渡。。原来030君默认地。友好地要发16位数据。。。要发8位不能这么玩。。。根据叫雷锋的网友帖子的指导。。弄了一下午。终于成功发出了8位了。蛋似问题又来了,读取闪存的方法,貌似前辈门都习惯用0xff作为dummy,030君表示:“老子就是不给你发0xff!!!”(发其它都正常),示波器作证。。。
我就是想问下为啥~~到底是f0的内核就是不给发0xff呢。。还是我操作错了?有没有用过这个的给个建议拉~~(到底0xff能不能通过f0系列的SPI口发出来,不用告诉我为什么)。
1.你用8位机的思路搞32位必然有些不同。
2.至于“前辈”的做法,你完全可以自定义新的规则,为什么发不出0xff你可以参考1. :):):):):):):):):):)程序有漏洞 :):):):):):):):):):):) :):):):):):):):):):):):):):):):) :)表示在开始的时候就要合理管脚资源:) 应该是程序没写好吧, 我的070还好 程序确实有问题..已经找到..但是SPI发0xff的时候确实够懒的....
页:
[1]