51单片机串口接收数组
时间: 2023-07-28 19:07:54 浏览: 140
以下是51单片机串口接收数组的示例代码:
```c
#include <reg52.h>
#include <stdio.h>
#define FOSC 11059200L
#define BAUD 9600
#define TH1Value (256 - FOSC / 12 / BAUD)
sbit LED = P1^0;
void InitUART()
{
TMOD |= 0x20;
SCON = 0x50;
TH1 = TH1Value;
TL1 = TH1Value;
TR1 = 1;
}
void UARTInterrupt() interrupt 4
{
static unsigned char i = 0;
static unsigned char buffer[10];
if (RI == 1)
{
RI = 0;
buffer[i] = SBUF;
i++;
if (i == 10)
{
i = 0;
// 对接收到的数组进行处理
}
}
}
void main()
{
InitUART();
EA = 1;
ES = 1;
while (1)
{
LED = ~LED;
DelayMs(500);
}
}
```
这是一个基本的串口中断程序,可以接收长度为10的数组。当接收到10个字符后,会将接收到的数组进行处理。你可以根据你的需求修改代码。
阅读全文