📄 t.c
字号:
#include <reg51.h>
#define COUNT 10 /* 定义发送缓冲区大小 */
#define NODE_ADDR 64 /* 定义目的节点地址 */
unsigned char buffer[COUNT]; /* 定义发送缓冲区 */
int pointer; /* 定义当前位置指针 */
main() {
/* 发送缓冲区初始化 */
while(pointer<COUNT) {
buffer[pointer]='A'+pointer;
pointer++;
}
/* 初始化串行口和波特率发生器 */
SCON=0xc0;
TMOD=0x20;
TH1=0xfd;
TR1=1;
ET1=0;
ES=1;
EA=1;
pointer=-1;
/* 发送地址帧 */
TB8=1;
SBUF=NODE_ADDR;
/* 等待全部数据帧发送完毕 */
while(pointer<COUNT);
/* ...... */
}
/* 发送中断服务函数 */
void send(void) interrupt 4 using 3 {
/* 清发送中断标志并修改发送缓冲区当前位置指针 */
TI=0;
pointer++;
/* 如果全部数据发送完毕则返回, 否则发送一帧数据 */
if(pointer>=COUNT) return;
else {
TB8=0; /* 设置数据帧标志 */
SBUF=buffer[pointer]; /* 启动发送 */
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -