chenminhua 发表于 2012-11-23 10:42:50

iar stm8l152 一个词“Eeprom_ProgramData”惹得祸,原因是什么呢?

#ifdef _IAR_
__no_init __eeprom unsigned char Bias_Current;
__no_init __eeprom u8 Eeprom_Sett_Data;
__no_init __eeprom u8 Eeprom_Setup_Data;
__no_init __eeprom u8  Eeprom_ProgNumData;//176
#endif

这样是可以的,但是
__no_init __eeprom u8  Eeprom_ProgNumData;//176
换成
__no_init __eeprom u8  Eeprom_ProgramData;//176
  FLASH->CR1 = 0x08;   这步就无法对寄存器赋值
  while(((CLK->REGCSR)&0x80)==0x80);
但是把源程序eeprom部分移植到官方样例是可以的

发表于 2012-11-23 14:36:46

RE:iar stm8l152 一个词“Eeprom_ProgramData”惹得祸,原因是什么呢?

你看一下工程中是不是用到了Eeprom_ProgramData,而你的定义发生了重复定义。

zykzyk-93033 发表于 2012-11-23 20:25:17

RE:iar stm8l152 一个词“Eeprom_ProgramData”惹得祸,原因是什么呢?

可能是IAR定义的问题。:D

chenminhua 发表于 2012-11-24 08:37:38

RE:iar stm8l152 一个词“Eeprom_ProgramData”惹得祸,原因是什么呢?

首先,编译的时候没有任何警告,其次调试的时候其他功能感觉上一切正常,
再次全文件搜索没有找到除我写的函数之外使用或定义过,当然只定义过一次,要不报警了。感觉IAR做的很智能了,然后把很多报警都关闭了,比如有些语句可能不会用到的话,将被IAR自动屏蔽掉,以至于在有些地方想放上一些观察性的变量和语句将不能被执行
页: [1]
查看完整版本: iar stm8l152 一个词“Eeprom_ProgramData”惹得祸,原因是什么呢?