搜索
bottom↓
回复: 34

freescale的CW我只能用RZ形容

[复制链接]

出0入4汤圆

发表于 2013-11-7 13:00:09 | 显示全部楼层 |阅读模式
const S8 me[]={"\
Command list:\r\n\
ME or HELP or /?\r\n\
REPORT\r\n\
READ\r\n\
CLEAR\r\n\
HEX\r\n\
RESET ALL\r\n\
SET DATETIME DD/MM/YYYY HH:MM:SS\r\n\
SET BAUDRATE n(600-115200)\r\n\
SET FLASH 1|0(En|Dis) 20(OnTime) 10(OffTime) 90(Period)\r\n\
SET TIMES 100(Transtime) 20(ADtime) \r\n\
SET LUX 1 10 100 1000\r\n\
SET LS 20 500 3000\r\n\
SET SPEED n(Low) n(High) n(Low_R) n(High_R)\r\n\
"};

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

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2013-11-7 13:14:38 | 显示全部楼层
这么大一个数组作为局部变量的话,占用的堆栈不小吧?

出0入4汤圆

 楼主| 发表于 2013-11-7 13:31:47 | 显示全部楼层
和堆栈无关,const字符串是放在flash的,不是放在ram

出0入0汤圆

发表于 2013-11-7 13:54:39 | 显示全部楼层
这种定义到FLASH 里面的东西  都习惯在外面弄好了  没放进函数里面搞过。

出0入0汤圆

发表于 2013-11-7 15:03:28 | 显示全部楼层
在CW 10.5下试了一下楼主的问题,没有问题啊。
我用K60的片子做的测试
楼主用的是那个芯片,S08还是kinetis 还是别的片子?

我的代码:
#include "derivative.h" /* include peripheral declarations */
#include <stdio.h>

signed char dest[50];

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

int main(void)
{
。。。       
        ComMe();       
。。。
}

出0入0汤圆

发表于 2013-11-7 15:35:42 | 显示全部楼层
这个工具又不是你一个人用,不要动不动就喷.
在定义数组的时候加个static试试。

出0入0汤圆

发表于 2013-11-7 15:48:57 | 显示全部楼层
LZ这用法也不规范。

出0入0汤圆

发表于 2013-11-7 17:59:45 | 显示全部楼层
我是路过打酱油的,表示不习惯飞卡的CW环境,以前开发08的时候,总是搞的我非常不爽。
极度不喜欢,在我的不喜欢排行榜中它和PIC的那个破MP并列排名第一。

出0入0汤圆

发表于 2013-11-7 18:03:16 | 显示全部楼层
有时候的凑合

出0入4汤圆

 楼主| 发表于 2013-11-7 19:41:02 | 显示全部楼层
FSL_TICS_LY 发表于 2013-11-7 15:03
在CW 10.5下试了一下楼主的问题,没有问题啊。
我用K60的片子做的测试
楼主用的是那个芯片,S08还是kinetis ...

CPU是MC9S08SH32

出0入0汤圆

发表于 2013-11-7 20:16:37 | 显示全部楼层
老版CW还是eclipse版CW?

出0入0汤圆

发表于 2013-11-8 11:18:33 | 显示全部楼层
菜鸟围观一些,呵呵

出0入0汤圆

发表于 2013-11-8 16:30:42 | 显示全部楼层
这个···因人而异吧,不能单纯说工具好坏

出0入0汤圆

发表于 2013-11-8 19:49:09 | 显示全部楼层
看高手指点了!

出0入0汤圆

发表于 2013-11-8 23:25:13 | 显示全部楼层
看评论,围观一下

出0入4汤圆

 楼主| 发表于 2013-11-9 10:20:22 | 显示全部楼层
marx 发表于 2013-11-7 20:16
老版CW还是eclipse版CW?

最新的,还联网更新过

出0入4汤圆

 楼主| 发表于 2013-11-9 10:22:56 | 显示全部楼层
661球 发表于 2013-11-8 16:30
这个···因人而异吧,不能单纯说工具好坏

就作一个项目。结果发现3个编译器bug,是俺人品不好? ,moto/fs搞单片机这么多年,我觉得这种低级错误不应该
10年前搞CVAVR的时候,也发现了很多编译器的bug,没觉得人品不好呀

出0入4汤圆

发表于 2013-11-11 19:31:51 | 显示全部楼层
CodeWarrior 十年了他就没变过样,代码战士

出0入0汤圆

发表于 2013-11-11 20:04:42 | 显示全部楼层
我觉得用起来还不错啊!

出100入101汤圆

发表于 2014-8-31 10:39:24 | 显示全部楼层
编译器bug,关注

出0入0汤圆

发表于 2014-8-31 10:46:08 来自手机 | 显示全部楼层
很复杂的样子啊~

出0入4汤圆

发表于 2014-8-31 10:55:35 | 显示全部楼层
上手用的就是CW,感觉挺好用的。

出0入0汤圆

发表于 2014-8-31 12:24:40 | 显示全部楼层
说实话,还真没这样用过!

出0入0汤圆

发表于 2014-8-31 12:27:25 来自手机 | 显示全部楼层
liuqian 发表于 2013-11-7 13:31
和堆栈无关,const字符串是放在flash的,不是放在ram

我记得局部const是放在堆栈里的啊

出0入0汤圆

发表于 2014-8-31 12:29:11 来自手机 | 显示全部楼层
这都被你们给顶出来了,我记得局部const 是放在堆栈里的,忘了是在哪里看到的了

出0入0汤圆

发表于 2014-9-3 15:51:07 | 显示全部楼层
看看啊,当时用5.1的时候也就当个很简单的编译器,不过功能好像也不错

出0入0汤圆

发表于 2014-9-3 16:31:15 | 显示全部楼层
不是这么RZ吧?怎么可能呀?

出500入109汤圆

发表于 2014-9-3 17:12:20 | 显示全部楼层
应该是一方面这种使用方法比较少见,另一方面IDE的代码判断也不是很严格,我这里使用CW5.1有时候也会出问题,比如使用32位乘除法的时候,只能是自己想办法规避,这也算是编程水平提高的一个途径吧。

出0入0汤圆

发表于 2014-9-3 21:03:39 | 显示全部楼层
不至于吧                        

出0入0汤圆

发表于 2014-9-4 07:22:38 | 显示全部楼层
不会吧....            

出0入0汤圆

发表于 2015-2-25 14:50:45 | 显示全部楼层
幸好我不用!!《

出0入0汤圆

发表于 2015-2-25 14:58:12 | 显示全部楼层
const 本来就不应该放到函数里面, 这个应该是要报错的,不报错反而编译了,那可定是代码的一部分!

出0入0汤圆

发表于 2015-2-25 21:27:31 来自手机 | 显示全部楼层
我最不喜欢的平台是:PLC

出0入0汤圆

发表于 2015-2-26 10:00:21 | 显示全部楼层
qiqirachel 发表于 2015-2-25 21:27
我最不喜欢的平台是:PLC

握手ing

出0入0汤圆

发表于 2015-3-2 11:04:39 | 显示全部楼层
围观一下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-17 21:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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