jacky1983 发表于 2014-9-17 10:06:36

iar 8位变量 16位变量 定义

            各位大虾,我最近发现IAR STM8仿真时查询变量,发现程序中定义的全局变量 unsigned char    unsigned short  在仿真时WATCH窗口把变量名输入进去后,发现数据格式全部为INT 也就是16位的,但内存地址又有问题,比如说我定义3变量,A=0xaa  B=0xbb  C=0xcc,定义时都是8位的,在WATCH里输入A,B,C,出现内存地址为0x000010 0x000011 0x000012,值分别0xaabb 0xbbcc 0xcc??  
         各位可以试下,看看你们的是不是这样,我定义时8位,数据格式应该为unsigned char ,值应该分别为0xaa 0xbb 0xcc,但上面的内存地址是对的,应该本来是8位的,所以相邻的内存地址只相差1,如果是16位的话,内存地址应该是0X000010 0X000012 0X000014,这里是不是编译器搞的问题,或者IAR 的BUG

jacky1983 发表于 2014-9-17 11:37:44

RE:iar 8位变量 16位变量 定义

手头用IAR +仿真器的,试下呢,在WATCH里输入几个全局变量,看看是不是原先定义的8位,在那里面显示16位

jacky1983 发表于 2014-9-17 20:40:33

RE:iar 8位变量 16位变量 定义

搞定了,IAR 仿真时 LIVE WATCH 最后面那个数据TYPE 可以右键更改为8位显示或者16位显示
页: [1]
查看完整版本: iar 8位变量 16位变量 定义