几句简单的C语言代码

[复制链接]
3951|19
 楼主| caiwenbin 发表于 2010-2-25 15:39 | 显示全部楼层 |阅读模式
下面代码在51、AVR、ARM中执行都没问题,但在HT46R065、防真软件HT_IDE3000中就有点问题,小弟第一次使用合泰的芯片,望各位兄弟多多指教!

if(HW_I>31)
{
   
      HW_I=0;
      switch(HW_KEY)
      {
      case 0X0E:                                     //KEY5
                     KEY_DATA=5;                 //调试结果  KEY_DATA=5正确
                     break;
     
      case 0X5E:                                      //KEY2
                     KEY_DATA=2;                  //调试结果  KEY_DATA=2正确
                     break;  

      case 0X9E:                                      //KEY6
                     KEY_DATA=6;                  //调试结果  KEY_DATA=0X9E错误
                     break;

      case 0XCC:                                      //KEY3
                     KEY_DATA=3;                   //调试结果  KEY_DATA=0XCC错误
                     break;
   
      case 0XCE:                                      //KEY4
                     KEY_DATA=4;                  //调试结果  KEY_DATA=0XCE错误
                     break;
               
      case 0XDE:                                      //KEY1
                     KEY_DATA=1;                   //调试结果  KEY_DATA=0XDE错误
                     break;
   
      default:                                           //调试
                     KEY_DATA=HW_KEY;
                     break;
       }
}

初步怀疑是HT46R065的RAM才96字节,相应的指针过短和合泰的IDE3000太弱智!
 楼主| caiwenbin 发表于 2010-2-25 15:42 | 显示全部楼层
 楼主| caiwenbin 发表于 2010-2-25 16:05 | 显示全部楼层
问题已解决,case 后面的常量不超过96就程序就没问题,但是不知道原因!
还望知道的兄弟指点一下迷精!
秋天落叶 发表于 2010-2-26 09:52 | 显示全部楼层
还有这种问题,是不是你定义的变量的数据类型不对
sinadz 发表于 2010-3-1 20:51 | 显示全部楼层
这种问题应该就跟定义的数据类型有关,可为什么96分界,就不解了
xsgy123 发表于 2010-3-4 22:05 | 显示全部楼层
应该就是LS所说的问题
zwll 发表于 2010-3-5 19:22 | 显示全部楼层
还有这种问题?
yybj 发表于 2010-3-5 21:07 | 显示全部楼层
这跟没个人的编程习惯有关系
秋天落叶 发表于 2010-3-5 21:42 | 显示全部楼层
数据类型定义不对,有时会导致很多问题
sinadz 发表于 2010-3-6 17:03 | 显示全部楼层
感觉也不是数据类型的问题,96这个数太小了
baidudz 发表于 2010-3-8 11:56 | 显示全部楼层
确实是很简单的C语言代码
xsgy123 发表于 2010-3-8 21:44 | 显示全部楼层
在其它芯片执行没问题,在这款芯片执行有问题?那应该不是语法错误,或者数据类型问题了
hsbjb 发表于 2010-3-11 22:13 | 显示全部楼层
就是一个CASE语句
dfsa 发表于 2010-3-12 20:51 | 显示全部楼层
这个原因却是有点不好理解
sinadz 发表于 2010-3-13 21:16 | 显示全部楼层
如果纯粹按照C语言语法,应该不会有这样的问题
gxgclg 发表于 2010-3-14 20:05 | 显示全部楼层
RAM才96字节,不太可能
pkat 发表于 2010-3-15 21:03 | 显示全部楼层
是不太可能,这种单片机还能用
xsgy123 发表于 2010-3-16 20:43 | 显示全部楼层
一般单片机至少应该是K级的
zhuzhihu007 发表于 2010-3-17 08:26 | 显示全部楼层
没有人解答到这个问题吗?有些奇怪!
秋天落叶 发表于 2010-3-17 21:22 | 显示全部楼层
指针过短?程序里好像没用到指针吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

509

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部