打印
[PIC®/AVR®/dsPIC®产品]

maplab C30 无法编译——delay函数

[复制链接]
782|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 是系统时钟频率

使用特权

评论回复
5
zhoupxa| | 2025-2-18 23:32 | 只看该作者

使用特权

评论回复
6
yangxiaor520| | 2025-2-22 16:02 | 只看该作者
头文件没有路径没有设置正确吧

使用特权

评论回复
7
初级工程渣| | 2025-2-22 18:26 | 只看该作者
如果使用的是旧版本的C30编译器,可能需要更新编译器或使用其他延时方法。

使用特权

评论回复
8
花间一壶酒sd| | 2025-2-23 00:10 | 只看该作者
如果对延时精度要求不高,可以使用空循环实现粗略延时:

使用特权

评论回复
9
远芳侵古道| | 2025-2-23 06:57 | 只看该作者
__delay_us(ms) 和 __delay_ms(ms) 函数依赖于系统的时钟频率。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1565

主题

5084

帖子

6

粉丝