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

📄 uart01.c

📁 车载GPS监控终端的完整代码,与监控中心的通讯采用GPRS.
💻 C
字号:

/********************************************************\
*	文件名:  Uart01.C
*	创建时间:2004年12月7日
*	创建人:  
*	版本号:  1.00
*	功能:	  根据MSP430的特点,这部分实现MSP430两个硬串口的功能
			  包括三个模拟串口的发送和接收
*	文件属性:公共文件
*	修改历史:(每条详述)
\********************************************************/
#include <msp430x14x.h>
#include "Uart01.h"
#include "General.h"
#include "Define_Bit.h"
#include "Do_SRAM.h"
#include "D_Buffer.h"
/********************************************************\
*	函数名:Send_COM0_Byte
	作用域:外部文件调用
*	功能:  通过串口0发送一个字节
*	参数:  Input
*	返回值:无
*	创建人:
*
*	修改历史:(每条详述)
\********************************************************/
void Send_COM0_Byte(unsigned char Input)
{
	IFG1&=~UTXIFG0;
	TXBUF0=Input;
	while((IFG1&UTXIFG0)==0){}
}
/********************************************************\
*	函数名:Send_COM1_Byte
	作用域:外部文件调用
*	功能:  通过串口1发送一个字节
*	参数:  Input
*	返回值:无
*	创建人:
*
*	修改历史:(每条详述)
\********************************************************/
void Send_COM1_Byte(unsigned char Input)
{
	IFG2&=~UTXIFG1;
	TXBUF1=Input;
	while((IFG2&UTXIFG1)==0){}
}
/********************************************************\
*	函数名:Send_COM0_String
	作用域:外部文件调用
*	功能:  通过串口0发送一个字符串
*	参数:  *Point,Count
*	返回值:
*	创建人:
*
*	修改历史:(每条详述)
\********************************************************/
void Send_COM0_String(unsigned char *Point,unsigned int Count)
{
	while(Count>0)
	{
		IFG1&=~UTXIFG0;
		TXBUF0=*Point;
		while((IFG1&UTXIFG0)==0){}
		Point++;
		Count--;
	}
}
/********************************************************\
*	函数名:Send_COM1_String
	作用域:外部文件调用
*	功能:  通过串口1发送一个字符串
*	参数:  *Point,Count
*	返回值:
*	创建人:
*
*	修改历史:(每条详述)
\********************************************************/
void Send_COM1_String(unsigned char *Point,unsigned int Count)
{
	while(Count>0)
	{
		IFG2&=~UTXIFG1;
		TXBUF1=*Point;
		while((IFG2&UTXIFG1)==0){}
		Point++;
		Count--;
	}
}
/********************************************************\
*	函数名:Receive_COM0(串口0的接收中断处理程序)
	作用域:本地文件使用
*	功能:
*	参数:
*	返回值:
*	创建人:
*
*	修改历史:(每条详述)
\********************************************************/
interrupt [UART0RX_VECTOR] void Receive_COM0(void)
{
	IFG1&=~URXIFG0;
	if( gReceive0_GSM_Buffer_Point != gReceive0_GSM_Buffer_End )
	{
		gReceive0_GSM_Buffer[gReceive0_GSM_Buffer_Point] = RXBUF0;
		gReceive0_GSM_Buffer_Point++;
		if( gReceive0_GSM_Buffer_Point >= sizeof(gReceive0_GSM_Buffer) ) gReceive0_GSM_Buffer_Point=0;
		gM22_GSM_ECHO_Timer=0;
		gM22_TCP_ECHO_Timer=0;
	}
}
/********************************************************\
*	函数名:Send_COM0(串口0的发送中断处理程序)
	作用域:本项目暂时不使用
*	功能:
*	参数:
*	返回值:
*	创建人:
*
*	修改历史:(每条详述)
\********************************************************/
/*
interrupt [UART0TX_VECTOR] void Send_COM0(void)
{
}
*/
/********************************************************\
*	函数名:Receive_COM1(串口1的接收中断处理程序)
	作用域:本项目暂时不使用
*	功能:	用来接收处理来自显示终端的接收数据
*	参数:
*	返回值:
*	创建人:
*
*	修改历史:(每条详述)
\********************************************************/
interrupt [UART1RX_VECTOR] void Receive_COM1(void)
{
	unsigned char Data_Temp=0;
	IFG2&=~URXIFG1;

	Data_Temp=RXBUF1;
	SRAM_Init();
	SRAM_Write(gReceive1_Point,Data_Temp);
	gReceive1_Point++;
	if(gReceive1_Point>SRAM_RECORD_E)	gReceive1_Point=SRAM_RECORD_S;
	gReceive1_Over_Count=0;

}
/********************************************************\
*	函数名:Send_COM1(串口1的发送中断处理程序)
	作用域:本项目暂时不使用
*	功能:
*	参数:
*	返回值:
*	创建人:
*
*	修改历史:(每条详述)
\********************************************************/
/*
interrupt [UART1TX_VECTOR] void Send_COM1(void)
{
}
*/

⌨️ 快捷键说明

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