这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » Renesas » 仿真查看数据乱的怎么回事

共8条 1/1 1 跳转至

仿真查看数据乱的怎么回事

高工
2012-09-04 13:13:01     打赏
我在做AD实验

我在主程序中仿真查看数据是否正确,
读到的AD数据test1=838.但是chdata的数据好像没有识别。
直接负值也没有效果chdata[0]=0;
开始我没有强制赋值,现在加了(unsigned char)结果也一样。
问下各位朋友这是为什么咧?

不过个人感觉是仿真器的问题,应该值已经写入了,只是没有显示出来而已。是这样吗?
你们出现过这种情况没有?

初始化
unsigned char chdata[4]={0,0,0,0};
unsigned int test1;




下面的仿真的watch窗口:



关键词: 仿真     查看     数据     怎么回事    

院士
2012-09-04 14:18:39     打赏
2楼
这个现象挺常见的。
一直未找到原因,部分程序没有问题,部分有问题。

常用解决办法:
flash清空,然后再在线调试;
先在线调试一下led灯闪烁,然后,再回到现在的工程;

以上两种方法,在某些时候灰常有效,具体原因不明。

高工
2012-09-04 21:51:55     打赏
3楼
endmessage[0]=(UCHAR)(voltage/10000+48);
 sendmessage[2]=(UCHAR)((voltage%10000)/1000+48);
  sendmessage[3]=(UCHAR)(((voltage%10000)%1000)/100+48);


voltage  是AD中断得到的,下面的程序,你的chdata要加上0x30,或者48
#pragma vector = INTAD_vect
__interrupt void MD_INTAD(void)
{
 /* Start user code. Do not edit comment generated here */
    AD_Read(&AD_Reg_Value);
    voltage=48*AD_Reg_Value+2;
 /* End user code. Do not edit comment generated here */
}

希望对你有用

助工
2012-09-05 09:13:55     打赏
4楼
给数组赋值常数 是什么效果?

高工
2012-09-05 11:56:02     打赏
5楼

这个数据值,我又不是去显示的。。我只仿真咧,,


高工
2012-09-05 15:12:05     打赏
6楼
这个数据值,我又不是去显示的。为什么一定要加48咧。。我只仿真看仿真的值。

高工
2012-09-05 17:02:48     打赏
7楼
*buffer = (USHORT)(ADCR >> 6U);
换一换类型试试

菜鸟
2012-09-06 14:15:26     打赏
8楼
在IAR的OCD DEMO工程里加入LZ的代码测试,显示没有问题...

试试先擦一遍再调试

共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]