jcky001 发表于 2025-2-18 19:00

maplab C30 无法编译——delay函数

用的PIC24F片子,用C30编译程序,无法编译__delay_us(ms) 函数,提示undefined reference ;

发顺丰更大nc 发表于 2025-2-18 20:04

正确头文件 (#include <libpic30.h>)。

发顺丰更大nc 发表于 2025-2-18 20:04

检查时钟频率

发顺丰更大nc 发表于 2025-2-18 20:05

可以考虑手动实现延迟函数,或者使用 __delay32()基于时钟频率的延迟函数,
c
#define delay_ms(ms) __delay32((ms) * (FCY / 1000))// FCY 是系统时钟频率

zhoupxa 发表于 2025-2-18 23:32


yangxiaor520 发表于 2025-2-22 16:02

头文件没有路径没有设置正确吧

初级工程渣 发表于 2025-2-22 18:26

如果使用的是旧版本的C30编译器,可能需要更新编译器或使用其他延时方法。

花间一壶酒sd 发表于 2025-2-23 00:10

如果对延时精度要求不高,可以使用空循环实现粗略延时:

远芳侵古道 发表于 2025-2-23 06:57

__delay_us(ms) 和 __delay_ms(ms) 函数依赖于系统的时钟频率。
页: [1]
查看完整版本: maplab C30 无法编译——delay函数