📄 usart.h
字号:
/***********************************************************
文件名称: USART.H
作 者: ADVANCE-007
版 本: V1.0
说 明: 关于串口的最底层函数,供上层调用 , 晶体:4MHZ
修改记录: 20070308
***********************************************************/
#ifndef __USART_H__
#define __USART_H__
#include "DATATYPE.H"
/***************************************************************
********** 预定义说明区 ********************
***************************************************************/
/***************************************************************
********** 常,变量定义区 * *********************
***************************************************************/
#define COM1 0 //com1 port.
#define COM2 1 //com2 port.
#define BPSASK 0
#define BPS4800 1
#define BPS9600 2
#define BPS19200 3
#define BPS28800 4
#define BPS57600 5
#define BPS115200 6
#define UsartTXD 0 //com1 port.
#define UsartRXD 1 //com1 port.
#define UsartAll 2 //
#define RecDataLen 12
extern uchar g_aRecvBuf[RecDataLen];//接收数据缓冲区
extern uchar COM1_R_flag;
extern uchar COM2_R_flag;
#define MutiMode_Addr 0 //com1 port.
#define MutiMode_Idle 1 //com2 port.
//关于485部分
#define ConstManageIC 0x31
#define RotManageIC 0x37
#define RotCtrlIC 0x36
#define RS485_TRAN 0
#define RS485_REC 1
#define ConstManage_RS485_TRANSMIT (P5OUT |=BIT1) /*RS485发送*/
#define ConstManage_RS485_RECEIVE (P5OUT &=~BIT1) /*RS485接收*/
#define RotManage_RS485_TRANSMIT (P4OUT |=BIT0) /*RS485发送*/
#define RotManage_RS485_RECEIVE (P4OUT &=~BIT0) /*RS485接收*/
//基于中断的串口驱动程序
/********************* I/O地址定义 ***************************/
/***************************************************************
********** 函数说明 ********************
***************************************************************/
/* com 的初始工作 *****************************************************
* comnum:输入:COM1 :初始化com1 port.
* 输入:COM2 :初始化com2 port.
* bps: 输入:BPSASK 只返回现有bps
* BPS4800 设置BPS:4800
* BPS9600 设置BPS:9600
* BPS19200 19200
* BPS28800 28800
* BPS57600 57600
* BPS115200 115200
* 其他数值 只返回现有bps
* 返回:返回现有bps,值范围:BPSASK,BPS4800,BPS9600,BPS19200,BPS28800,BPS57600,BPS115200 ****/
void InitCom(uint8 comnum, uint8 bps);
/*****************************************************************************
发送函数。采用查询方式。
pBuffer:指向发送数据缓冲区的指针
n_byte:发送的字节数
******************************************************************************/
uchar RecUartByte(uint8 comnum);
void SendUartByte(uint8 comnum,uint8 databyte);
void SendUartString(uint8 comnum,uint8 *datastring);
void SendUart(uint8 comnum,uint8 *pBuffer,uint8 n_byte);
void UsartNewLine( uint8 comnum, uchar n );//回车 换行
void Usart_N_Space(uint8 comnum, uchar n );//N个空格
void Stop_COM(uint8 comnum,uint8 UsartTXDorRXD);//stop COMX's TXD or RXD
void Start_COM(uint8 comnum,uint8 UsartTXDorRXD);//start COMX's TXD or RXD
void SendUartHextoChar(uint8 comnum, uchar datt);//HEX型转CHAR型函数
void SendUartHextoString(uint8 comnum,uint8 *datastring);//数组元素的HEX型转String型函数
//interrupt [UART0RX_VECTOR] void usart0_rx(void);
void InitCom_MutiMode( uint8 comnum, uint8 MutiMode );
void RS485_Set(uchar ucIC, uchar ucT_or_R);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -