arm裸机编程18b20

2019-07-16 10:17发布

本帖最后由 yuyiyekong 于 2013-4-3 09:40 编辑

本人想用ARM裸机编程18b20,所以需要很精准的时序来实现对温度传感器的控制,请问各位高手怎样能精准的延时,本人使用的开发板是mini2440,12M晶振,设置FCLK频率为405MHZ,HCLK为1/2FCLK,PCLK为1/8FCLK,单算使用GPIO的引脚去控制,GPIO的时钟是PCLK=50.625MHZ,所以就是arm的机器周期是T=1/50.625M,但是利用一个for循环来延时由于不知道for循环++1的指令执行需要多少个机器周期,需要考虑5级流水线吗?所以不能对18b20写读指令,我在网上查看很多是使用驱动编程来控制,由于本人是驱动编程的新手,所以不知道驱动编程控制18b20的原理是什么,求高手帮助。由于单片机的机器对18b20有教程,所以时序控制还是相对简单,但是在arm就不会精准延时控制18b20.,arm编程中是否可用__asm{nop};来延时,nop是延时一个周期吧,这里相当于一个T=1/50.625M吧?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
3htech
1楼-- · 2019-07-16 11:44
知道定时器么?
for循环开始前起动,因为循环结束后关闭,通过定时器跑了多少个数不就知道for循环的执行时间了……
yuyiyekong
2楼-- · 2019-07-16 15:13
3htech 发表于 2013-4-3 09:55
知道定时器么?
for循环开始前起动,因为循环结束后关闭,通过定时器跑了多少个数不就知道for循环的执行时 ...

这个建议不错,可以尝试一下,谢谢你,如果还有其他好的办法说错来

一周热门 更多>