📄 uartsentreceive.c
字号:
#include <pic.h>
///该程序实现单片机双机异步通信功能,该程序是发送部分///
unsigned char tran[8]; ///定义一个数组存储发送数据///
unsigned char k,data; ///定义通用寄存器///
///SCI部件初始化子程序///
void sciint()
{
SPBRG=0X19; ///将传输的波特率设为约9 600位/秒///
TXSTA=0X04; ///选择异步高速方式传输8位数据///
RCSTA=0X80; ///允许同步串行口工作///
TRISC6=1;
TRISC7=1; ///将RC6、RC7设置为输入方式,对外部呈高阻状态///
}
///主程序///
main()
{
sciint(); ///SCI部件初始化///
di(); ///中断禁止///
TXEN=1; ///发送允许///
CREN=1; ///接收数据允许///
for(k=0;k<8;k++){
TXREG=tran[k]; ///发出一个字符///
while(1){
if(TXIF==1) break;
} ///等待写入完成///
while(1){
if(RCIF==1) break;///若收到响应字节,则终止等待///
}
RCREG=RCREG; ///读响应字节,清RCIF///
}
// display(); ///显示发送的数据///
while(1){
;
}
}
/////////////////////////////////////////////////////////////////////////////////////////
#include <pic.h>
///该程序实现单片机双机异步通信功能,该程序是接收部分,并把接收的数据显示在8
//个LED上///
unsigned char rece[8];///定义一个数组存储接收数据///
unsigned char k,data;///定义通用寄存器///
///SCI部件初始化子程序///
void sciint()
{
SPBRG=0X19; ///波特率设置与PIC1相同,为约9 600位/秒///
TXSTA=0X04; ///异步高速传输///
RCSTA=0X80; ///串行口工作使能///
TRISC6=1;
TRISC7=1; ///将RC6、RC7设置为输入方式,对外部呈高阻状态///
}
///主程序///
main()
{
// SPIINIT(); ///spi显示初始化///
sciint(); ///SCI部件初始化///
di(); ///中断禁止///
CREN=1; ///接收允许///
TXEN=1; ///发送允许///
for(k=0;k<8;k++){
while(1){
if(RCIF==1) break;
} ///等待接收数据///
rece[k]=RCREG; ///读取接收数据,同时清掉RCIF///
TXREG=rece[k]; ///发送接收到的数据///
while(1){
if(TXIF==1) break;
} ///等待写入完成///
}
// display(); ///显示接收的数据///
while(1){
;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -