-
Q. 为什么只能在定时器0中断中使用串口通信,否则就死机?
A: 初始化顺序很重要,开启串口前应先将定时器设置好,因为二者有同一个寄存器。
void main()
{
AUXR=0;
Timer0_Init();
Baud_Init();
2.
Q: 为什么一开始就进入PCA中断?
A:赋值应先于寄存器的开始设置,若先开启再赋值,开启时初值为0先进入一次中断。
void PCA_Init()
{
CCON=0x00;
CMOD=0x04;//0x04;//0x05;
CCAP0L=0x64;
CCAP0H=00;
CH=0;
CL=0;
CCAPM0=0x49;
CCON|=0x40;
}
3.stc写eprom时,需要先擦除扇区,再写字节。
4.printf 使用时 TI=1 , 发送完整后 TI=0;所以使用 printf 时也需要延时等待。