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

📄 uart0.c

📁 rs485的通信程序的主程序。采用at91sam7a3芯片编写的。
💻 C
字号:

#include "at91sam7a3.h"

		unsigned char	UART0_RData[522] ;
		unsigned char	UART1_RHR ;

		unsigned char	UART0_TData[1050] ;

		unsigned int	UART0_R_Count ;
		unsigned int	UART1_R_Count ;

		unsigned int 	USART0_NO;

		unsigned long	UART0_TS_Flag ;
		unsigned int	UART0_T_Count ;
		unsigned long	UART0_TE_Flag ;

		unsigned long	UART0_RE_Flag ;
		unsigned long	UART1_RE_Flag ;

		int				UART0_Reciev(void) ;
		int				UART1_Reciev(void) ;
		int				UART0_Transmit(void) ;
		unsigned long US1_flag;
		unsigned char	 ClerRXRDY;
//extern  unsigned int	InData_Count ;


int UART0_Reciev(void)	
{
	AT91S_USART *pUS0;

	pUS0 = AT91C_BASE_US0;	//0xFFFC0000;

	
	if(pUS0->US_RHR == 0x00000053)
	{
		UART0_R_Count=0;	//char_S
	}

	UART0_RData[UART0_R_Count] = pUS0->US_RHR;
	UART0_R_Count++;

	if(pUS0->US_RHR == 0x00000051)   //char_Q
	{
		USART0_NO = UART0_R_Count;
		UART0_R_Count=0;
		UART0_RE_Flag = 0x55555555;
	}
  
	return 1;	
}


int UART0_Transmit(void)	
{
	AT91S_USART *pUS0;

	UART0_T_Count++;
	pUS0->US_THR = UART0_TData[UART0_T_Count];
	if (UART0_TData[UART0_T_Count]==0x51) 
	{
	   UART0_TS_Flag = 0xaaaaaaaa ;
	   UART0_T_Count=0x00000000;
	 }
  
   return 1;	
}


int UART1_Reciev(void)	
{
	AT91S_USART *pUS1,*pUS0;

	unsigned char	a,b,i;

	pUS0 = AT91C_BASE_US0;
	pUS1 = AT91C_BASE_US1;

	if ((pUS1->US_CSR & 0x0000002) == 0x0000002)
	{
		UART1_RHR = pUS1->US_RHR;

		a = UART1_RHR;
		b = UART1_RHR;

		a = a & 0x0F;
		b = b >> 4;
		b = b & 0x0F;

		pUS0->US_THR = b;	//Z_Data[j];
		for (i=0;i<200;i++) ;
		pUS0->US_THR = a;	//Z_Data[j];
		for (i=0;i<200;i++) ;
	
	}
  
	return 1;	
}

				

⌨️ 快捷键说明

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