ARM技术论坛
直播中

yuyiyekong

11年用户 7经验值
擅长:362491
私信 关注
[问答]

arm裸机编程18b20

本帖最后由 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)

朱海生

2013-4-3 09:55:43
知道定时器么?
for循环开始前起动,因为循环结束后关闭,通过定时器跑了多少个数不就知道for循环的执行时间了……
举报

yuyiyekong

2013-4-3 10:25:42
引用: 3htech 发表于 2013-4-3 09:55
知道定时器么?
for循环开始前起动,因为循环结束后关闭,通过定时器跑了多少个数不就知道for循环的执行时 ...

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

更多回帖

发帖
×
20
完善资料,
赚取积分