還有問一下好心人,復制代碼到這兒怎么保留空格?我這一個個手打出來的空格【 哭笑】
- #include "reg52.h"
- bit cmdArrived = 0;
- unsigned char cmdIndex = 0;
- unsigned char cntTXD = 0;
- unsigned char *ptrTXD;
- unsigned char Array1[1] = {1};
- unsigned char Array2[2] = {1,2};
- unsigned char Array3[4] = {1,2,3,4};
- unsigned char Array4[8] = {1,2,3,4,5,6,7,8};
- void ConfigUART(unsigned int baud);
- void main()
- {
- EA = 1;
- ConfigUART(9600);
- while(1)
- {
- if(cmdArrived == 1)
- {
- cmdArrived = 0;
- switch(cmdIndex)//根據接受到的命令發送不同的數據
- {
- case(1):ptrTXD = Array1;cntTXD = sizeof(Array1);TI = 1;break;//將Array1第一個元素的地址賦給指針變量
- case(2):ptrTXD = Array2;cntTXD = sizeof(Array2);TI = 1;break;
- case(3):ptrTXD = Array3;cntTXD = sizeof(Array3);TI = 1;break;
- case(4):ptrTXD = Array4;cntTXD = sizeof(Array4);TI = 1;break;
- default:break;
- }
- }
- }
- }
- void ConfigUART(unsigned int baud)
- {
- SCON = 0x50;
- TMOD &= 0x0f;
- TMOD |= 0x20;
- TH1 = 256 - (11059200/12/32)/baud;
- TL1 = TH1;
- ET1 = 0;
- ES = 1;
- TR1 = 1;
- }
- void interruptUART() interrupt 4
- {
- if(RI)
- {
- cmdIndex = SBUF;
- cmdArrived = 1;
- RI = 0;
- }
- if(TI)
- {
- TI = 0;
- if(cntTXD > 0)
- {
- SBUF = *ptrTXD;
- ptrTXD++;
- cntTXD--;
- }
- }
- }
復制代碼
|