网站大量收购独家精品文档,联系QQ:2885784924

avrgcc延时库函数的理解(Understanding of avrgcc time delay library function).doc

avrgcc延时库函数的理解(Understanding of avrgcc time delay library function).doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
avrgcc延时库函数的理解(Understanding of avrgcc time delay library function)

avrgcc延时库函数的理解(Understanding of avrgcc time delay library function) winav时函数: 无效 _delay_loop_1(uint8_t __count) { __asm__挥发性( “1:12 % 0“”“T” “brne 1B” :“=”(__count) :“0”(__count) ); } 准确延时是3×__count个时钟周期(0<__count<256) 无效 _delay_loop_2(uint16_t __count) { __asm__挥发性( “1:西贝尔·布兰德女子讲习所为0,1”\n\n T” “brne 1B” :“= W”(__count) :“0”(__count) ); } 准确延时是4×__count + 1个时钟周期(0<__count<256×256-1) _delay_loop_1()最小延时是3个时钟周期,最大延时是256×3个时钟周期 _delay_loop_2()最小延时是4 + 1个时钟周期,最大延时是256 * 256 * 4 + 1个时钟周期 无效 _delay_us(双__us) { uint8_t __ticks; 双__tmp =((f_cpu)/ 3e6)* __us; 如果(__tmp<1) __ticks = 1; 如果(__tmp 255) { _delay_ms(__us / 1000); 返回; } 其他的 __ticks =(uint8_t)__tmp; _delay_loop_1(__ticks); } 无效 _delay_ms(双__ms) { uint16_t __ticks; 双__tmp =((f_cpu)/ 4e3)* __ms; 如果(__tmp<1) __ticks = 1; 如果(__tmp 65535) { / / __ticks =要求在1 / 10毫秒的延迟 __ticks =(uint16_t)(__ms×10); 而(__ticks) { /等待1/10毫秒 _delay_loop_2(((f_cpu)/ 4e3)/ 10); __ticks --; } 返回; } 其他的 __ticks =(uint16_t)__tmp; _delay_loop_2(__ticks); } _dealy_us()最小延时与_delay_loop_1()相同,是3个时钟周期, _delay_us(0)就是最小延时,相当于_delay_loop_1(1), 在8m时钟下,_delay_us(0.375)也是最小延时(0.375us是3个时钟周期) _delay_us(0.7499999)仍然是最小延时,相当于_delay_loop_1(1), 而_delay_us(0(2)了则相当于_delay_loop_1。 _dealy_ms()最小延时与_delay_loop_2()相同,是4 + 1个时钟周期。 _delay_ms(0)就是最小延时,相当于_delay_loop_2(1), 在8m时钟下,_delay_ms(0.0005)也是最小延时(0.0005ms相当于是4个时钟周期) _delay_ms(0.0009999999)仍然是最小延时,相当于_delay_loop_2(1), 而_delay_ms(0.00099999999)(2)了则相当于_delay_loop_2。 _dealy_us(__us)延时精度范围: (0, 3 clock cycles), error (0,3) clock cycles (3 clock cycles, 768us/ (F_CPU/1000000)), error (-2,0) clock cycles (768us/ (F_CPU/1000000), 262.14ms/ (F_CPU/1000000)), error (-2, +1) clock cycles, (262.14ms/ (F_CPU/1000000)) 6553.5ms) error 8M clock (approx +0.18ms, about +57ms) _dealy_ms (__ms) delay accuracy range: (0, 4 clock cycles), error (1,5) clock cycles (4 clock cycles, 262.14ms/ (F_CPU/1000000)), error (-2, +1) clock cycles, (262.14ms/ (F_CPU/1000000)) 6553.5ms) error 8M clock (approx +0.18ms, about +5

您可能关注的文档

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档