发新帖我要提问
12
返回列表
打印

PIC16F1937 数组操作问题 求救

[复制链接]
楼主: 牛牛特工
手机看帖
扫描二维码
随时随地手机跟帖
21
yewuyi| | 2009-8-10 15:08 | 只看该作者 回帖奖励 |倒序浏览
不能软仿真?

呵呵,你还是就近联系代理商的FAE把。。。

你这段代码完全可以脱离硬件跑跑看看,但你现在脱离不了本身就很奇怪。

使用特权

评论回复
22
牛牛特工|  楼主 | 2009-8-10 17:19 | 只看该作者
俄 好像走题  
现在软仿真不了  
一进软仿真 MPLAB就自动关闭 并且工程再也无法打开 只能重新建工程
我再调整一下软件吧 不过这个跟我那问题基本上没有什么关联的

使用特权

评论回复
23
牛牛特工|  楼主 | 2009-8-10 17:29 | 只看该作者
可能我工程里什么设置不对 现在重建一工程
很好 将这段代码 在MPLAB SIM下仿真了一下
#include        <htc.h>
__CONFIG (WDTE_OFF & FOSC_HS  & CP_OFF & IESO_OFF &FCMEN_OFF  );
__CONFIG (PLLEN_OFF &LVP_OFF);
unsigned char ch;
unsigned int array[8],array2[8] ;
void main(void)
{
        for(ch=0;ch<8;ch++)
                {
                        array1[ch]=0x55;
                        array2[ch]=0xaa;
                }
                while(1);                        
}
结果和我在硬件上测试略有不同 array2[8]的结果是: 全零
array1[8]的结果是 内容为0x0055 即array1正确 array2 不正确
经网友建议 终于发现了更好的解决办法 非常简单
定义数组时 给每个数组都赋上初值 就可以解决该问题

使用特权

评论回复
24
牛牛特工|  楼主 | 2009-8-10 17:44 | 只看该作者
本帖最后由 牛牛特工 于 2009-8-10 17:51 编辑

赋初值的办法看来也没用啊 看来刚才又判断失误啊
我的代码简化到了这个样子
unsigned char ch;
unsigned int array[8]=1;
void main(void)
{
for(ch=0;ch<8;ch++)
  {
   array[ch]=0x55;
  }
  while(1);
}

使用特权

评论回复
25
yewuyi| | 2009-8-11 08:36 | 只看该作者
你给我的编译器不能安装,呵呵,没有LIC啊。。。

unsigned int array[8]={0x01};

使用特权

评论回复
26
牛牛特工|  楼主 | 2009-8-11 15:19 | 只看该作者
不能安装? 你选45天试用就行了啊 怎么可能不能安装呢 能安装的  
只是不要用以前的crack来破 把这个的picc.exe给覆盖了就不好了
我格式看来有问题 编译居然通过了 不过加上括号后之后还是一样

使用特权

评论回复
27
yewuyi| | 2009-8-14 08:44 | 只看该作者
经查,编译的问题应该是PICC对PIC16F193X系列的支持出了问题。

至于不能软件DEBUG的事情,就不知道了

使用特权

评论回复
28
牛牛特工|  楼主 | 2009-8-14 19:23 | 只看该作者
没的人说不能软件debug ~~ 是可以debug的
编译器还有些其他问题的

使用特权

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

本版积分规则