[STM8] stm8s中断中用到无符号长整型量出错误

[复制链接]
2517|8
 楼主| xiao妮 发表于 2014-5-29 10:39 | 显示全部楼层 |阅读模式
定义变量为无符号常整形出错误,#error clnk Debug\bbddc.lkf:1 segments .const (0x8080-0x8133) and .const (0x8000-0x8084) overlap换成整型字符型的就编译通过
airwill 发表于 2014-5-29 12:21 | 显示全部楼层
1 segments .const (0x8080-0x8133) and .const (0x8000-0x8084) overlap

看这个说明, 好象是内存不够了, 分配的空间发生溢出覆盖了.
mmuuss586 发表于 2014-5-29 12:29 | 显示全部楼层

如楼上所说,有这种可能;
你的程序无符号,和有符号,怎么定义的发上拉看看;
可能占用的字节数不一样
 楼主| xiao妮 发表于 2014-5-29 13:13 | 显示全部楼层
mmuuss586 发表于 2014-5-29 12:29
如楼上所说,有这种可能;
你的程序无符号,和有符号,怎么定义的发上拉看看;
可能占用的字节数不 ...


@far @interrupt void CAN_RX_IRQHandler(void)
{unsigned int id1,id2;
unsigned long id3;
unsigned char i;
   if(CAN_RFR &  CAN_RFR_FMP01)
         {
          CAN_Receive();
   
                      id3 = _Id;
          switch(id3)
           { case (0xcff15ef): Flag_Crxd_1 = 1;Flag_Crxd_2 = 1;Flag_Crxd_3 = 1;
                                 
                             break;
                             
              case (0xcff16ef):  
                            
                             break;
                                                                  
                                                                           
            default: break;                                                   
         }
  
         }
return;
}
 楼主| xiao妮 发表于 2014-5-29 13:14 | 显示全部楼层
xiao妮 发表于 2014-5-29 13:13
@far @interrupt void CAN_RX_IRQHandler(void)
{unsigned int id1,id2;
unsigned long id3;

id3是无长整型就不好,其他的字符型,整型都好
 楼主| xiao妮 发表于 2014-5-29 13:17 | 显示全部楼层
id3是无符号长整型就编译不通过,整型字符型都能编译通过
mmuuss586 发表于 2014-5-29 18:53 | 显示全部楼层
id1改成unsigned long 能通过吗?
能的话,可能就是赋值问题;
 楼主| xiao妮 发表于 2014-6-13 09:18 | 显示全部楼层
mmuuss586 发表于 2014-5-29 18:53
id1改成unsigned long 能通过吗?
能的话,可能就是赋值问题;

改了也通过不了
pofu007 发表于 2014-6-13 12:58 | 显示全部楼层
工程设置里把stack改大点试试!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

51

帖子

0

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