注册 登录
查看: 470|回复: 15

想把PID等宏定义常量改成变量不知道有没有弊端

[复制链接]
发表于 2014-11-26 21:19:40 | 显示全部楼层 |阅读模式
突然有个想法!无线调参可以调变量!不过P等都是宏定义的常量!貌似无线没办法调试吧!我想把这些常量放到变量里!不知道有没有什么弊端!求指导!
来自PC客户端 来自PC客户端
回复

使用道具 举报

发表于 2014-11-26 21:21:26 | 显示全部楼层
没问题的,宏定义就是放在flash上,变量就放在RAM上。
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-26 21:25:46 | 显示全部楼层
仰逸致 发表于 2014-11-26 21:21
没问题的,宏定义就是放在flash上,变量就放在RAM上。

宏定义的话在程序运行时可以更改吗?
回复 支持 反对

使用道具 举报

发表于 2014-11-26 21:28:47 | 显示全部楼层
ii童话Bū说话 发表于 1417008346
宏定义的话在程序运行时可以更改吗?
肯定不可以啊,写在flash里的。(特殊方法改flash是可以,不过无效率可言)
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-26 21:30:11 | 显示全部楼层
仰逸致 发表于 1417008527
肯定不可以啊,写在flash里的。(特殊方法改flash是可以,不过无效率可言)
嗯!我是不知道更改宏的方法!所以想把PID等参数用变量表示!运行的时候更改参数!方便一点!最后确定好了再用宏定义也不迟!对吧!
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-26 21:31:12 | 显示全部楼层
仰逸致 发表于 1417008527
肯定不可以啊,写在flash里的。(特殊方法改flash是可以,不过无效率可言)
主要是想问一下!把宏换成变量不会有什么弊端吧!
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-26 21:37:28 | 显示全部楼层
ii童话Bū说话 发表于 1417008611
嗯!我是不知道更改宏的方法!所以想把PID等参数用变量表示!运行的时候更改参数!方便一点!最后确定好了再用宏定义也不迟!对吧!
没必要宏定义都可以。如果非要说弊端,除非是越界修改了变量的值,不然不会有其他不好的问题。
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-26 21:38:13 | 显示全部楼层
仰逸致 发表于 1417009048
没必要宏定义都可以。如果非要说弊端,除非是越界修改了变量的值,不然不会有其他不好的问题。
谢啦!越来越仰慕你了!
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-26 21:48:35 | 显示全部楼层
仰逸致 发表于 2014-11-26 21:37
没必要宏定义都可以。如果非要说弊端,除非是越界修改了变量的值,不然不会有其他不好的问题。

又遇到了一个问题!我定义的变量自在一处定义了!查找引用也只有一处!为什么链接会提示重复定义呢!
回复 支持 反对

使用道具 举报

发表于 2014-11-26 21:49:45 | 显示全部楼层
ii童话Bū说话 发表于 1417009715
又遇到了一个问题!我定义的变量自在一处定义了!查找引用也只有一处!为什么链接会提示重复定义呢!
声明的时候不要赋值!!
定义放在C文件定义!
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-26 21:51:00 | 显示全部楼层
仰逸致 发表于 1417009785
声明的时候不要赋值!!
定义放在C文件定义!
放在.h文件里面不可以吗?
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-26 21:57:27 | 显示全部楼层
ii童话Bū说话 发表于 1417009860
放在.h文件里面不可以吗?
定义不能放在头文件的啊!!
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-26 21:58:46 | 显示全部楼层
仰逸致 发表于 1417010247
定义不能放在头文件的啊!!
恩恩!那个复制的时候可以赋值的!声明外部变量的时候只要不赋值就可以了!对吧!?
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-26 22:00:02 | 显示全部楼层
仰逸致 发表于 1417010247
定义不能放在头文件的啊!!
当初刚学51的时候把程序写在了.h文件……里面各种自定义函数……然后还能正确的运行……之后以为是可以的……
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-26 22:00:09 | 显示全部楼层
ii童话Bū说话 发表于 1417010326
恩恩!那个复制的时候可以赋值的!声明外部变量的时候只要不赋值就可以了!对吧!?
是啊。山外的书本,有头文件的用法说明。
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-27 09:04:41 | 显示全部楼层
ii童话Bū说话 发表于 2014-11-26 21:25
宏定义的话在程序运行时可以更改吗?

想问一下,PID的输入量用光电解码器获取脉冲之后要怎么转换呀??
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部