本帖最后由 john_light 于 2010-4-1 11:39 编辑
和楼主的想法有出入。
- serial.c
- [code]
- #define BUFF_SIZE 10
- unsigned char index;
- unsigned char TransBuff[BUFF_SIZE];
- void serial_int (void) interrupt 4
- {
- unsigned char *pBuff;
- unsigned char rcv;
- if (RI == 1)
- {
- RI = 0;
- rcv = SBUF;
- if (rcv == 'R')/*当接收到指定字符时,准备数据并发送*/
- {
- pBuff = TransBuff;
- *pBuff++ = acvol;
- *pBuff++ = acele;
- *pBuff++ = dcvol;
- *pBuff++ = dcele;
- *pBuff++ = freq;
- SBUF = TransBuff[0];
- index = 1;
- }
- }
- else if (TI == 1)
- {
- TI = 0;
- if (index < 5)
- {
- SBUF = TransBuff[index];
- index++;
- }
- }
- }
|