在C编程中是否可以使用PIC18F4550的延迟功能,类似于Arduino中的delay()
和delayMicroseconds()
?
可以找到的延迟函数是Delay10KTCYx()
,Delay10TCYx()
等,这很难产生我们想要的延迟,最低延迟甚至不是几毫秒。
请你寻求助攻。谢谢
答案 0 :(得分:1)
进行微控制器编程时,如果可能,应始终使用片上硬件定时器。通常有几个,也许还有一个实时时钟。您应该在MCU中的硬件定时器周围寻找驱动程序或HAL,而不是寻找一些忙碌延迟功能。
此外,如果您需要超过1毫秒的分辨率,请注意"延迟"功能往往不准确。
Busy-delay()函数/循环主要是一个快速的&脏的业余解决方案。他们很糟糕,因为: