freescale的CW我只能用弱智形容

2020-02-19 21:08发布

const S8 me[]={"
Command list:
ME or HELP or /?
REPORT
READ
CLEAR
HEX
RESET ALL
SET DATETIME DD/MM/YYYY HH:MM:SS
SET BAUDRATE n(600-115200)
SET FLASH 1|0(En|Dis) 20(OnTime) 10(OffTime) 90(Period)
SET TIMES 100(Transtime) 20(ADtime)
SET LUX 1 10 100 1000
SET LS 20 500 3000
SET SPEED n(Low) n(High) n(Low_R) n(High_R)
"};

void ComMe()
{
SciPutsC(me);
}

这样可以正常运行
把me定义到函数ComMe里面就发送一堆乱码出来,跟踪进去发现,如果me定义在ComMe里面,me被翻译成指令,进入ComMe不是去执行SciPutsC,而是执行了me对应的机器码

之前就发现了CW的几个bug,报告到freescaleic.org,没什么反馈,现在又发现这种低级bug。这个项目作的我真痛苦。
- CodeWarrior for MCU
         Version: 10.4
         Build Id:130425
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
34条回答
fengyunyu
1楼-- · 2020-02-22 12:35
编译器bug,关注
songjie
2楼-- · 2020-02-22 14:59
很复杂的样子啊~
wycox
3楼-- · 2020-02-22 18:27
 精彩回答 2  元偷偷看……
浪里白条
4楼-- · 2020-02-22 19:05
说实话,还真没这样用过!
sunnyqd
5楼-- · 2020-02-22 22:26
liuqian 发表于 2013-11-7 13:31
和堆栈无关,const字符串是放在flash的,不是放在ram

我记得局部const是放在堆栈里的啊
sunnyqd
6楼-- · 2020-02-23 00:10
这都被你们给顶出来了,我记得局部const 是放在堆栈里的,忘了是在哪里看到的了

一周热门 更多>