⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sport.txt

📁 串口发送程序,程序功能简单,但可以通信,供参考
💻 TXT
字号:
这是我自己写的串口程序,调试过了,可以根据数据包的要求接收和抛弃,

#include "reg51.h"

#include "stdio.h"

#defineXTAL11059200//晶振频率

#defineBaud9600//串口波特率

#defineR_leng7//串口接收缓冲区

#defineT_leng 12//串口发送缓冲区

#define headchar 0xf0

#define tailchar 0xcc

//unsigned char headchar=0xf0;

//unsigned char tailchar=0xcc;

unsigned char addr=0x10;

char idata luca_Txdbuf[T_leng]={0xf0,0x10,0x5,0xa4,0x12,0x13,0x01,0x02,0x03,0x04,0x05,0xcc};

unsigned char idata luca_Rxdbuf[R_leng];

unsigned charc;

unsigned char i=0,n=0;

unsigned int Tmpcrc;

void delay (void) 

{

unsigned int i;

for (i=10000;i>0;i--);

}

static void Com_isr(void) interrupt 4 using 1

{if(RI)

{

RI=0;

c=SBUF;

switch(i)

{case 0:

i++;

if(c!=headchar)

{i=0;

return;

}

luca_Rxdbuf[0]=c;

break;

case 1:

i++;

if(c!=addr)

{i=0;

return;

}

luca_Rxdbuf[1]=c;

break;

case 6:

i=0;

if(c!=tailchar)

{i=0;

return;

}

luca_Rxdbuf[6]=c;

break;

default:

luca_Rxdbuf[i]=c;

i++;

break;

}

}

if(TI)

{

TI=0;

/*for(n=0;n<12;n++)

{

SBUF=luca_Txdbuf[n];

delay();

}*/

for(n=0;n<7;n++)

{

SBUF=luca_Rxdbuf[n];

delay();

}

}

}

新手,写的不怎么样??总算能接收和发送!!

void Com_init(void)

{

PCON |=0x80;

TMOD |=0x20;

TH1= (unsigned char)(256-(XTAL/(16L*12L*Baud)));

TR1=1;

SCON=0x50;

ES=1;

}

void main(void)

{EA=1;

Com_init();

while(1)

{

while(luca_Rxdbuf[6]==0xcc)

{ SBUF=0;

delay();

}

}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -