型号:STC8H1K08
Flash 存储器 8K 字节 FLASH 程序存储器(ROM),用于存储用户代码
SRAM
- 128 字节内部直接访问 RAM(DATA) 128
- 字节内部间接访问 RAM(IDATA)
- 1024 字节内部扩展 RAM(内部 XDATA)
要点1 注意编译好的代码大小。
如下案例,代码没用超出,程序运行正常
Program Size: data=15.1 xdata=445 const=550
下面的案例,xdata 超出 1024字节 程序运行异常
Program Size: data=15.1 xdata=6781 const=550 code=3954
源代码
#define PRINTF_BUF_MAX 6400 //太大了 导致 xdata 越界
int uart2_printf(const char * str,...){
char xdata buf[PRINTF_BUF_MAX];
int len;
va_list vp;
va_start(vp, str);
len = vsprintf(buf,str,vp);
va_end(vp);
PrintString2(buf);
return len;
}