初级会员

- 积分
- 124
- 金钱
- 124
- 注册时间
- 2018-3-26
- 在线时间
- 288 小时
|

楼主 |
发表于 2021-3-31 11:27:24
|
显示全部楼层
我的处理程序是这样的,但是效果没啥变化啊- void Int_serial1() interrupt 16// using 1 //,若不指定R区,则保存用到的R,并可节省8个字节RAM
- {
- // ES=0;/*关串行口中断*/
- //耗时 24us
- //低位在前高位在后
- if(SCON1 & 0x01) // RI1
- {
- SCON1 &= (~0x01); //RI1=0
-
- if(WriteReciPoint<BUFRECI)
- {
- Buf_Reci[WriteReciPoint]=SBUF1;
- WriteReciPoint++;
- }
-
- if((0xEE==Buf_Reci[0])&&(0xB1==Buf_Reci[1])&&(0x04==Buf_Reci[6])&&(0x01==Buf_Reci[9])&&(0xFF==Buf_Reci[13]))//进仓
- {
- SPEAKER_CTL1(ON);
- msDelay1(1000);
- WriteReciPoint=0;
- Buf_Reci[13]=0;
- memset(Buf_Reci,0,WriteReciPoint);
- }
- else if((0xEE==Buf_Reci[0])&&(0xB1==Buf_Reci[1])&&(0x04==Buf_Reci[6])&&(0x00==Buf_Reci[9])&&(0xFF==Buf_Reci[13]))//出仓
- {
- SPEAKER_CTL1(OFF);
- msDelay1(1000);
- WriteReciPoint=0;
- Buf_Reci[13]=0;
- memset(Buf_Reci,0,WriteReciPoint);
- }
- }
复制代码 |
|