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

📄 max232.txt

📁 MAX232.rar
💻 TXT
字号:
#include <reg51.h>
#include <string.h>
#define INBUF_LEN4;
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((count3==(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 + -