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

📄 2_uart_sst.h

📁 sst芯片参考 增强UART功能
💻 H
字号:
//===========================SST MCU扩展的2个UART使用说明==============================
//	本例程是使用SST MCU(SST89E/V52RD,54RD,58RD,516RD)的特殊硬件功能做的,新增加2个扩展UART的功能.
//  扩展UART的特点:采用全双工方式,即:收发不用分时,若采用半双工方式,可扩展5个新的UART
//  
//  1.发送和接收均采用中断方式,不占用标准8052的资源(定时器,硬件中断,RAM),
//    占用的资源均是SST MCU的特殊资源,因此这个例子只适合SST的单片机,不能用于其它非SST的MCU
//	2.发送采用UART2_send_out ( uchar *p , uint len )函数,
//	  直接将要发送的数据区的起始地址送给P,数据长度送给LEN即可
//	3.接收采用中断方式接收,接收的数据放在自己定义的变量的uart2_rx.buff起始地址的缓冲器内.
//	4.使用本例程请参考MAIN.C函数.//
//		4.0	 加入本文件进行一些函数的声明和设置参数(晶振频率,通讯的波特率,缓冲区的大小,UART的I/O口定义)
//		4.1 定义一个接收用的变量,标志和缓冲区:
//				extern xdata struct uart1_rx_strut 
//				{
//					uchar  no_data_count ;			//接收缓冲区无数据的时间计数,接收到数据,将置为0,没有数据时,20ms加一(在定时中断内加一)
//					uchar  rx_state ;				//接收的状态
//					uchar  rx_bitcont ;				//接收的一个数据的位数(常用的为8位宽度)
//					uchar  buff[MAX_SIZE_BUF] ;		//接收缓冲区大小
//					uint   count   ;				//已经接收的数据个数,也可根据接收的数目,来判断有无新数据,在取出数据后,将这个数目清零
//					}uart2_rx,uart1_rx ;
//		4.2  对扩展UART进行初始化和打开:
//					UART_SST_init( ) ;			//调用扩展UART的初始化函数
//					UART1_rx_enable( );			//允许UART1进行接收
//					UART2_rx_enable( );			//允许UART1进行接收	
//		4.3  接收可根据自己定义的接收变量中的uart2_rx.count(已接收到的数量)来判断有无接收到的新数据
//			 若uart2_rx.count=0,则没有新数据进来,若uart2_rx.count=12,则表示已经接收到12个数据
//===============================================================================================
//			香港弘微科技有限公司(SPAC)
//			技术支持:田伯运  0755-26010579    andy.tian@spacltd.com.cn
//===============================================================================================  



#ifndef __2_UART_SST_H__
#define __2_UART_SST__

#include <SST89x5xRD.H>

#define uchar unsigned char 
#define uint  unsigned int 
#define ulong unsigned long

#define MAX_SIZE_BUF  60 		//定义接收缓冲区的大小为60,因为一个发送或接收的结构为4+BUF,
								//在256个XRAM中分配4组(UART1.RX;UART1.TX;  UART2.RX;UART2.TX)

#define SYSCLK    11059200  //12000000  //晶振频率
#define BAUDRATE1  9600	//4800 	//定义PCA_UART1的波特率,19200不行
sbit TXD1= P1^3 ;   			//定义P1.3为PCA_UART1的发送I/O口
sbit RXD1= P1^4 ; 				//定义P1.4为PCA_UART1的接收I/O口
sbit TXD2= P1^5 ;   			//定义P1.3为PCA_UART1的发送I/O口
sbit RXD2= P1^6 ; 				//定义P1.4为PCA_UART1的接收I/O口

//---------2_UART_SST.C-------------------
extern void UART_SST_init(void) ;		//SST UART初始化

extern void UART1_rx_enable(void);		//SST uart1接收使能
extern void UART1_rx_disable(void);		//SST uart1接收关闭
extern void UART1_send_out ( uchar *p , uint len );	//SST UART1数据发送

extern void UART2_rx_enable(void);		//SST uart2接收使能
extern void UART2_rx_disable(void);		//SST uart2接收关闭
extern void UART2_send_out ( uchar *p , uint len );	//SST UART2数据发送



#endif

⌨️ 快捷键说明

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