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

📄 test0c.c

📁 用kirl c51编写的串口通讯程序
💻 C
字号:
   #include <reg51.h>
   #include <stdio.h>
   #include <string.h>
   #define	INBUF_LEN 4
   unsigned char inbuf1[INBUF_LEN];
   unsigned char checksum,count3;
   bit read_flag=0;
   void init_serialcomm(void)
{
   SCON =0x50;
   TMOD = 0x20;
	PCON = 0x80;
	TH1 = 0xF4;
	IE=0x90;
	TR1 = 1;
	
	}
   void send_char_com(unsigned char ch)
   {
   SBUF=ch;
   while (TI==0);
   TI=0;
   }			   //向川口发送一个字符串,strlen为该字符传长度
		void send_string_com(unsigned char *str,unsigned int strlen)
		{
		unsigned int k=0;
		do
		{
		send_char_com(*(str + k ));
		k++;

		}while (k < strlen);

		}
		void serial() interrupt 4 using 3	 //串口接受中断函数
		{if (RI)
		{
		unsigned char ch;
		RI = 0;
		ch =SBUF;
		if (ch > 127)
		{count3=0;
		inbuf1[count3]=ch;
		checksum= ch-128;

		}
		else
		{count3 ++;
		inbuf1[count3]=ch;
		checksum ^=ch;
		//if ((coun3 ==(INBUF_LEN-1))&&(checksum))
		//{read_flag=1;	   //如果川口接收的数据达到inbuf_len
		//且教研没错,就职位取数标志
		//}
		}
		}
		}
		  main()
		  {init_serialcomm(); //初始化川口
		  while(1)
		  {if (read_flag)  //如果取数标志已经置位 ,就将读到的数据从川口发出
		  {read_flag=0;		//取数标志清0
		  send_string_com(inbuf1,INBUF_LEN);
		  }
		  }
		  }











⌨️ 快捷键说明

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