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

📄 uart.h.bak

📁 STC12LE5412RC单片机上通过nRF905芯片实现数据无线收发功能的源码。
💻 BAK
字号:
#include "reg52stc.h"
//#include "led.h"
#define Tnum  1
unsigned char isr=0;

unsigned char tBuf[Tnum];
sbit led0=P1^0;
unsigned char i;

unsigned char k;
unsigned char flag;
void UART_Init(void);				  //
void UART_Send(unsigned char);
//*****************************************************//
//函数名:
//输入参数:
//输出参数:
//功能描述:
//*****************************************************//
void UART_Init()
{
   RI=0;	           //串口接收中断标志必须软件清0
   TMOD |= 0x20; 	   //设置T1为波特率发生器
   //TMOD=  0x21;
   TH1 =  0xfd;
   TL1 =  0xfd; 
   PCON=  0x00;
   //SCON=  0xd8;
   SCON=  0x50;
   TR1 =  1;
   ES  =  1; //switch on the serial interrupt
   EA  =  1; 

   for(i=0;i<Tnum;i++)  //初始化发送数据
	    {
	    tBuf[i]=0;
		}
		
}
//*****************************************************//
//函数名:
//输入参数:
//输出参数:
//功能描述:
//*****************************************************//
void UART_Send(unsigned char uwdata)
{
   ES  =  0;
   TI  =  0;  //clear serial port sending finished interrupt require flag
   SBUF=  uwdata;
   while(TI==0); //等待发送完成
   TI  =  0;
   ES  =  1;
}
//*****************************************************//
//函数名:
//输入参数:
//输出参数:
//功能描述:
//*****************************************************//
void UART_receive_Interrrupt(void) interrupt 4
{ 
 RI  =  0;  //清串口中断标志  	
 if(isr<Tnum)
	  {
	    k = SBUF;	//从串口调试器读数据
		tBuf[isr]=k; 
		isr++;
	  }
 if(isr==Tnum)		//收到第32个数据
	 {
	   //k = SBUF;	//从串口调试器读数据
	   isr=0;
	   flag=1;
	  }	
}

⌨️ 快捷键说明

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