#define __IO_REG8_BIT(NAME, ADDRESS, ATTRIBUTE, BIT_STRUCT) \ __near __no_init volatile ATTRIBUTE union \ { \ unsigned char NAME; \ BIT_STRUCT NAME ## _bit; \ } @ ADDRESS; __near是什么意思求大神帮助 ! 还有这 预定义替换 为什么动下都不行? 我随便改成别的,然后再改回原来一模一样的也没用,就提示我一大堆错误 求大神帮助 ! 求大神帮助 ! 求大神帮助 ! 求大神帮助 ! 求大神帮助 ! |
STM8S003F3U6 请求各位大佬支援,但是遇到如下问题。。。这样就一定是这颗芯片的问题吗?
STVD如何生成库文件
STM8 flash 库函数 startaddress = startaddress + ((uint32_t)BlockNum * FLASH_BLOCK_S
stm 8 flash 在RAM运行代码的问题,是不是库函数有问题 Library call (?sll32_l0_l0_a) from within a
STM 有能替代MCHC912B32CFUE8 / NXP的型号吗?
STM8S的CAN总线使用
STM8L151在使用DAC功能后严重发热
STM8 IIC SLAVE 400K
STM8S 定时器1互补输出pwm
STM8S003F3 NRST电压低,无法开机
#define __IO_REG8_BIT(NAME, ADDRESS, ATTRIBUTE) \
__near __no_init volatile ATTRIBUTE union \
{ \
unsigned char NAME; \
__BITS8 NAME ## _bit; \ // ## _bit ?? ## 可以连接前后
//比如 NAME 是 a,这句就//是 __BITS8 a_bit;
} @ ADDRESS;
typedef struct
{
unsigned char no0:1;
unsigned char no1:1;
unsigned char no2:1;
unsigned char no3:1;
unsigned char no4:1;
unsigned char no5:1;
unsigned char no6:1;
unsigned char no7:1;
} __BITS8;
__near
Syntax Follows the generic syntax rules for memory type attributes that can be used on data
objects, see Type attributes, page 193.
Description The __near memory attribute overrides the default storage of variables given by the
selected data model and places individual variables and constants in near memory. You
can also use the __near attribute to create a pointer explicitly pointing to an object
located in the near memory.
Storage information Address range: 0x0-07FFF and 0xFFFF8000-0xFFFFFFFF (64 Kbytes)
Example __near int x;
See also Memory types, page 13.
__no_init
Syntax Follows the generic syntax rules for object attributes, see Object attributes, page 195.
Description Use the __no_init keyword to place a data object in non-volatile memory. This means
that the initialization of the variable, for example at system startup, is suppressed.
Example __no_init int myarray[10];
#define PRERR SYS_bit.no0
以下转自http://renesasrulz.spaces.eepw.com.cn/articles/article/item/69883
而__no_init会把变量放在非易失性存储器比如eeprom中,将其作为已初始化的变量来存储。
楼上说的对,就是这个意思