打印
[其他产品]

microchip C30 无法编译NOP() 定义了晶振也无法使用——delay—函数

[复制链接]
1065|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jcky001|  楼主 | 2025-2-18 23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

microchip C30 无法编译NOP() 定义了晶振也无法使用——delay—函数

使用特权

评论回复
沙发
dongnanxibei| | 2025-2-21 15:37 | 只看该作者
应该是有其他的宏定义。比如加两个下划线。

使用特权

评论回复
板凳
dongnanxibei| | 2025-2-21 15:39 | 只看该作者
#define NOP() __asm__ volatile ("nop")  // 单周期空操作
#define NOP2() NOP(); NOP()            // 自定义多周期延时

使用特权

评论回复
地板
huahuagg| | 2025-2-21 17:55 | 只看该作者
嗯,应该是没调用某个头文件。

使用特权

评论回复
5
慢醇| | 2025-2-23 00:03 | 只看该作者
如果系统时钟配置不正确,delay() 函数就无法按预期工作。

使用特权

评论回复
6
远芳侵古道| | 2025-2-23 05:33 | 只看该作者
可以尝试使用内联汇编实现 NOP():#define NOP() __asm__ volatile ("nop")

使用特权

评论回复
7
小明的同学| | 2025-2-23 10:39 | 只看该作者
直接使用 __asm__ volatile ("nop")  就可以。

使用特权

评论回复
8
dongnanxibei| | 2025-2-23 13:12 | 只看该作者
好像一个分号就可以代替。

使用特权

评论回复
9
突然下起雨| | 2025-2-25 15:26 | 只看该作者
如果晶振配置不正确,可能导致 Microchip C30 编译器无法识别 delay 函数或其他相关功能。

使用特权

评论回复
10
自动化陈稳| | 2025-4-27 01:08 | 只看该作者
检查是否启用了内联汇编的支持。C30 编译器允许通过 __asm 进行内联汇编,但如果编译器配置不正确,可能导致内联汇编代码无法识别。

使用特权

评论回复
11
自动化陈稳| | 2025-4-27 01:08 | 只看该作者
确保没有其他宏定义与 NOP() 名字冲突,可能会导致编译错误。

使用特权

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

本版积分规则

1587

主题

5377

帖子

6

粉丝