005b.c

来自「单片机演示程序共20个程序有LEDlcd等可以下来看看哈」· C语言 代码 · 共 50 行

C
50
字号
#include <reg51.h>
#define uchar unsigned char
uchar *p=0x20;		/*指针p指向内部RAM 20h单元*/
void com_init()		/*串口初始化程序*/
{
   TMOD=0x20;
   TH1=0xfa;
   TL1=0xfa;
   TR1=1;
   SCON=0x50;
}

reciv()
{
   uchar i;			/*发送长度*/
   uchar j=0;		/*累加和清0*/
recivDT:  
   while( !RI);
   i=SBUF;		/*接收发送长度*/
   for(; i; i--)
     {
        while( !RI);
        *p=SBUF;
         p++;
         j=j+ *p;		/*计算累加效验和*/
     }
    while( !RI);		/*等待接收效验码*/
    if (j==SBUF)  		/*接收正确则发送0,否则发送ff*/
       {
         SBUF=0x00;
		 j=0;
         while( !RI);
         return;
        }
    else
       {
          SBUF=0xff;
		  j=0;
          while( !RI);
          goto recivDT;
        }

}
   
main()
{
  com_init();
  reciv();
}

⌨️ 快捷键说明

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