[PIC®/AVR®/dsPIC®产品] maplab C30 无法编译——delay函数

[复制链接]
1216|8
 楼主| jcky001 发表于 2025-2-18 19:00 | 显示全部楼层 |阅读模式
用的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) 函数依赖于系统的时钟频率。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1650

主题

5706

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部