材料: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口发出来,不用告诉我为什么)。 |