搜索
bottom↓
回复: 12

Keil c51转瑞萨CS+,2级查表报警,求解决方法。(解决)

[复制链接]

出90入0汤圆

发表于 2017-7-13 19:18:28 | 显示全部楼层 |阅读模式
本帖最后由 hzpyl 于 2017-7-14 16:10 编辑

以下2级查表,Keil c51是没有问题的。

现在移植到瑞萨的CS+ FOR CC,报警,运行结果也不对,求解决方法。

//-----------------------------------------------------------------------------
const        U8        Refrigerant_Type_WD_R12_Tab[] =       
{
        5 ,                 // -29℃
        4 ,              // -28℃
        5 ,              // -27℃
        5 ,              // -26℃
        5 ,              // -25℃
        5 ,              // -24℃
        5 ,              // -23℃
        5 ,              // -22℃
        6 ,              // -21℃
        0xFF                 // 结束
};

//很多同样的表,长度不同。

// 下面是2级表,  报警
const        U16        Refrigerant_Type_WD_Tab_Tab[] =
{
        Refrigerant_Type_WD_R12_Tab,                 
        Refrigerant_Type_WD_R22_Tab,                 
        Refrigerant_Type_WD_R410A_Tab,         
        Refrigerant_Type_WD_R123_Tab,           
        Refrigerant_Type_WD_R134A_Tab,         
        Refrigerant_Type_WD_R290_Tab,           
        Refrigerant_Type_WD_R404A_Tab,         
        Refrigerant_Type_WD_R407C_Tab,         
        Refrigerant_Type_WD_R410A_Tab,         
        Refrigerant_Type_WD_R502_Tab,           
        Refrigerant_Type_WD_R507_Tab,           
        Refrigerant_Type_WD_R600A_Tab           
};



解决办法:  强制 U16,不报警了。
const        U16        Refrigerant_Type_WD_Tab_Tab[] =
{
        (U16)Refrigerant_Type_WD_R12_Tab,                  
        (U16)Refrigerant_Type_WD_R22_Tab,                  
        (U16)Refrigerant_Type_WD_R410A_Tab,         
        (U16)Refrigerant_Type_WD_R123_Tab,           
        (U16)Refrigerant_Type_WD_R134A_Tab,         
        (U16)Refrigerant_Type_WD_R290_Tab,           
        (U16)Refrigerant_Type_WD_R404A_Tab,         
        (U16)Refrigerant_Type_WD_R407C_Tab,         
        (U16)Refrigerant_Type_WD_R410A_Tab,         
        (U16)Refrigerant_Type_WD_R502_Tab,           
        (U16)Refrigerant_Type_WD_R507_Tab,           
        (U16)Refrigerant_Type_WD_R600A_Tab           
};

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

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

出90入0汤圆

 楼主| 发表于 2017-7-13 22:10:15 来自手机 | 显示全部楼层
用瑞萨的人真少。

出0入0汤圆

发表于 2017-7-13 22:20:56 | 显示全部楼层
二级表里边存的不是数组吗?确定地址是16位的??

出0入4汤圆

发表于 2017-7-13 22:31:00 | 显示全部楼层
瑞萨芯片是16位的,注意数组指针的长度是否不对?
我用cs+

如果有简单的工程,我可以帮你查一下原因。

出0入0汤圆

发表于 2017-7-13 23:52:27 | 显示全部楼层
报警报的什么错误呢?

出0入0汤圆

发表于 2017-7-14 00:05:38 来自手机 | 显示全部楼层
还是得看报警内容。用过一次瑞萨,感觉就是不敢写得太特别,都尽量按最简单的几步走,不然动不动就错误

出90入0汤圆

 楼主| 发表于 2017-7-14 07:03:40 | 显示全部楼层
报警内容如下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2017-7-14 07:11:38 | 显示全部楼层
他的指针寻址长度是短地址,需要加_far_
试试看

出0入4汤圆

发表于 2017-7-14 07:41:50 | 显示全部楼层

警告信息说得很清楚呀,
不能将一个const unsigned char _near类型初始化到一个 const unsigned int _near 类型的入口

类型不符

出0入0汤圆

发表于 2017-7-14 07:48:38 | 显示全部楼层
用IAR吧,不要用CS+,太差了

出90入0汤圆

 楼主| 发表于 2017-7-14 10:42:46 | 显示全部楼层
zyw19987 发表于 2017-7-14 07:11
他的指针寻址长度是短地址,需要加_far_
试试看

请问,_far_加什么地方?

出0入0汤圆

发表于 2017-7-14 11:38:40 | 显示全部楼层
不好用,  

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-3-29 19:34

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

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