打印

几句简单的C语言代码

[复制链接]
3267|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 | 只看该作者
UP!

使用特权

评论回复
板凳
caiwenbin|  楼主 | 2010-2-25 16:05 | 只看该作者
问题已解决,case 后面的常量不超过96就程序就没问题,但是不知道原因!
还望知道的兄弟指点一下迷精!

使用特权

评论回复
地板
秋天落叶| | 2010-2-26 09:52 | 只看该作者
还有这种问题,是不是你定义的变量的数据类型不对

使用特权

评论回复
5
sinadz| | 2010-3-1 20:51 | 只看该作者
这种问题应该就跟定义的数据类型有关,可为什么96分界,就不解了

使用特权

评论回复
6
xsgy123| | 2010-3-4 22:05 | 只看该作者
应该就是LS所说的问题

使用特权

评论回复
7
zwll| | 2010-3-5 19:22 | 只看该作者
还有这种问题?

使用特权

评论回复
8
yybj| | 2010-3-5 21:07 | 只看该作者
这跟没个人的编程习惯有关系

使用特权

评论回复
9
秋天落叶| | 2010-3-5 21:42 | 只看该作者
数据类型定义不对,有时会导致很多问题

使用特权

评论回复
10
sinadz| | 2010-3-6 17:03 | 只看该作者
感觉也不是数据类型的问题,96这个数太小了

使用特权

评论回复
11
baidudz| | 2010-3-8 11:56 | 只看该作者
确实是很简单的C语言代码

使用特权

评论回复
12
xsgy123| | 2010-3-8 21:44 | 只看该作者
在其它芯片执行没问题,在这款芯片执行有问题?那应该不是语法错误,或者数据类型问题了

使用特权

评论回复
13
hsbjb| | 2010-3-11 22:13 | 只看该作者
就是一个CASE语句

使用特权

评论回复
14
dfsa| | 2010-3-12 20:51 | 只看该作者
这个原因却是有点不好理解

使用特权

评论回复
15
sinadz| | 2010-3-13 21:16 | 只看该作者
如果纯粹按照C语言语法,应该不会有这样的问题

使用特权

评论回复
16
gxgclg| | 2010-3-14 20:05 | 只看该作者
RAM才96字节,不太可能

使用特权

评论回复
17
pkat| | 2010-3-15 21:03 | 只看该作者
是不太可能,这种单片机还能用

使用特权

评论回复
18
xsgy123| | 2010-3-16 20:43 | 只看该作者
一般单片机至少应该是K级的

使用特权

评论回复
19
zhuzhihu007| | 2010-3-17 08:26 | 只看该作者
没有人解答到这个问题吗?有些奇怪!

使用特权

评论回复
20
秋天落叶| | 2010-3-17 21:22 | 只看该作者
指针过短?程序里好像没用到指针吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

509

帖子

0

粉丝