单片机知识点【实时更新】
本文主要记录自己在做单片机编程时,遇到的一些调试问题或者小知识点,长期更新。
1.Keil编译时提示:xxx.C(57): 错误 C202: ‘AUXR’: undefined identifier
因为AUXR是内部扩展XRAM的寄存器,这个寄存器在通用的REG52.H是没有的,需要在这个文件里手动添加它。例如:sfr AUXR =0x8E; 此处的0x8E是STC的芯片地址,具体的地址要根据使用的芯片手册。
2.stc15f2k60s2.h和eg52.h有很多重复定义
因为stc15f2k60s2单片机,是在传统51单片机的基础上增加新寄器和功能,即 reg52.h 头文件定义的原有的寄存器stc15f2k60s2单片机全部都有,stc15f2k60s2只是增加了新的寄存器的定义。
所以,所说的重复定义,就是原有的寄存器。
因此,要用 stc15f2k60s2.h 的头文件时,就不要再用 原来的 reg52.h 的头文件了,避免编译时出错。
3.Keil 警告:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS
多数情况下,这个警告表示存在定义了未调用的函数。但也有其他特别的情况:(附链接)