|
本帖最后由 腾龙科技 于 2019-2-22 03:51 编辑
单片机型号是stm32f103c8t6 很经典的型号,最近在用中断识别 SPI通信的 时钟信号(SCLK) 频率已经调到72M总感觉不是很得心应手,信号总会抓错,经过了两天的查错,发现程序没有啥明显的错误,难道是单片机频率不够? 后来琢磨直接用寄存器控制试试吧,经过这么一改 OK了,信号都识别到了 对比后发现库函数还是有延迟的,平时不显,但是干点时序严格的活,库函数的延迟就很明显了,下面上图: 程序里注释错误了,,应该是PC15,,0x8000 对应的是PC15.
main 函数里面就一个while(1){} 自循环
中断使用的上升沿
这是用的库函数
下面是库函数 逻辑分析仪测试
进入中断到执行命令 结果:1.2188us
-----------------------------------------------------------------------------------------------------------------------------------
下面是用寄存器
下面是寄存器 逻辑分析仪测试
进入中断到执行命令 结果:0.6875us
结果喜人,,直接寄存器操作要快的多,至于更快的方法占时还没摸索到,欢迎大家共同探讨,批评指正。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|