关注+星标公众号,不错过精彩内容
作者 | strongerHuang
微信公众号 | strongerHuang
处理器复位
修饰符
__no_init
Keil中__no_init的配置和使用
#define __no_init __attribute__((zero_init))

__no_init uint16_t Cnt_NoInit;
IAR中中使用__no_init
__no_init uint16_t Cnt_NoInit;
参考源码
__no_inituint16_t Cnt_NoInit;uint16_t Cnt_Init = 100;
intmain(void){ System_Initializes();printf("Start...\n"); //复位打印
while(1) {printf("Cnt_NoInit = %d\n", Cnt_NoInit); //打印变量 Cnt_NoInit++;
if(Cnt_NoInit > 1000) { Cnt_NoInit = 0; }
printf("Cnt_Init = %d\n", Cnt_Init); Cnt_Init++;if(Cnt_Init > 1000) { Cnt_Init = 0; }
LED_ON; TIMDelay_Nms(500); LED_OFF; TIMDelay_Nms(500); NVIC_SystemReset(); //系统复位 }}
Start...Cnt_NoInit = 0Cnt_Init = 100
Start...Cnt_NoInit = 1Cnt_Init = 100
Start...Cnt_NoInit = 2Cnt_Init = 100
Start...Cnt_NoInit = 3Cnt_Init = 100
uint16_t Cnt_NoInit;uint16_t Cnt_Init = 100;
Start...Cnt_NoInit = 0Cnt_Init = 100
Start...Cnt_NoInit = 0Cnt_Init = 100
Start...Cnt_NoInit = 0Cnt_Init = 100
Start...Cnt_NoInit = 0Cnt_Init = 100
------------ END ------------
关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。