最近有个项目在做升级版,本来是用的TI的CC430F5137(本质是msp430 + CC1101),考虑到功能多且扩展的需求比较明显,所以选择了 STM32F107VC + CC1101.
在调试时,发现问题点还是挺多的,在这里稍微零散的总结一下,希望对有需要的兄弟姐妹有所帮助。
1、由于时间的关系,我可能会零散的写这个帖子,在我自己认为写完之前,我不会回答各位提出的任何问题以保持我资料的完整性(问的问题也许在后续中会提到);
2、错误在所难免,欢迎高手指正;但绝对不欢迎那种只说不好而不讲理由的。(换句话说,你说了自己的理由,哪怕是错误的也欢迎,但就是讨厌那种说一句牛逼讽刺的话就飘过的);
3、本帖子对STM32高手的帮助相当有限,如果阁下是STM32高手而又不愿意浪费时间,请绕行。
4、如果你看了我的帖子真的很有帮助,有想请我吃饭的,可以发消息给我 ^_^.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
往下走吧。前期都是小菜。距离和功耗才是王道。
“你用示波器看看你的SPI的CLK波形,很有可能你发一串数据时,两个Byte之间有个挺长的时间间隔。”
这个深有感触,用STM32的SPI2读写SD卡,SPI的时钟使用18MHZ,一次读写512字节,用示波器观察CLK的波形发现真正读写数据的那8个CLK的时钟占用时间只有445ns左右,这个时间是正确的。
但是2个byte之间的时间竟然有4~5us,是读写数据占用时间的10倍左右,这样就造成了写一个扇区(512字节)速度很慢,一直没有找到好的解决方法。
SPI是使用查询的方式没有使用中断,SPI初始化和读写的函数都是调用ST的库函数,写数据就是反复调用SPI读写那个函数。
想请教下,为了把SPI的速度提上去,除了把读写SPI的那个函数用寄存器操作外,很想知道你说的使用goto语句是怎样实现对SPI速度的优化的。谢谢!!
一周热门 更多>