gpt4 book ai didi

c - PIC18F4550 的延迟功能

转载 作者:行者123 更新时间:2023-11-30 14:55:44 24 4
gpt4 key购买 nike

是否有任何延迟函数可以在C编程中用于PIC18F4550,类似于Arduino中的delay()delayMicroseconds()

能找到的延迟函数有Delay10KTCYx()Delay10TCYx()等,很难产生我们想要的延迟,最低的延迟是甚至不是毫秒。

请寻求您的帮助。谢谢

最佳答案

在进行微 Controller 编程时,如果可能的话,您应该始终使用片上硬件定时器。通常有几个这样的时钟,也许还有一个实时时钟。您应该寻找 MCU 中存在的硬件计时器周围的驱动程序或 HAL,而不是寻找某些繁忙延迟函数。

此外,如果您需要高于 1ms 的分辨率,请注意“延迟”函数往往不准确。

Busy-delay() 函数/循环主要是一种快速而肮脏的业余解决方案。它们很糟糕,因为:

  • 它们消耗 100% 的 CPU,从而消耗 100% 的电量。
  • 它们与编译器及其设置紧密耦合。不同的优化级别可能会打破这种延迟。
  • 它们与系统时钟紧密耦合,而片上定时器驱动程序通常指定使用哪个时钟作为参数,并相应地调整预缩放。
  • 它们通常不太准确。
  • 总体而言,它们不一定具有确定性行为。

关于c - PIC18F4550 的延迟功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45612201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com