本帖最后由 nickyamw 于 2013-10-17 20:24 编辑
我用的是华邦的W79E532,时钟频率40MHz,2T模式,用串口中断方式接收一帧数据(每帧11或10个字节),但有时候可以完整接收一帧,有时却只接收到最后一个字节,成功接收一帧的概率大概70%左右,
请问我这程序有什么问题?怎么提高串口接收数据的成功率?
问题已经解决,是程序里SD卡部分还有一个关总中断的行为。
串口初始化函数:
- void uart0Init(void)
- {
- EA = 0;
- CKCON = 0xc7;
- TR2=0;
-
- CKCON = 0xf1;
- SCON=0x50;
- RCAP2H=TH2=0xff; ////115200 40M RCAP2HL=40M/(32*b)
- RCAP2L=TL2=0xf5;
-
- T2CON=0x34;
- //SCON=0xD0;
- T2MOD=0x00;
- TR2=1;
-
- RI = 0;
- ES = 1;
- EA = 1;
串口中断服务函数:
|