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

📄 uart_rx_1byte.c

📁 范例程序 SONiX
💻 C
字号:
#include <sn8p26l38.h>

unsigned  char rx_buf,rx_state;


void main (void)

{
	FURXEN=0;			// Disable UART Function	

	FURXPEN=0;			// Disable UART RX parity bit check function

	FURXM=0;			// 1-byte

	URBRC=0xD2;//11010010B	// baud -->9600
	

//================================================================
//	 UART Baud Rate = Fhosc/PreScaler/(Divider*8)
//=============================|==================================
//       Fhosc =16 MHz         |	Fhosc =4 MHz
//=============================|==================================
//	baud -->   data        |	baud -->   data
//	1200 --> 11010 101 b   |	1200 --> 01101 100 b
//	2400 --> 11010 100 b   |	2400 --> 01101 011 b
//	4800 --> 11010 011 b   |	4800 --> 01101 010 b
//	9600 --> 11010 010 b   |	9600 --> 01101 001 b
//	19200 -> 11010 001 b   |	19200 -> 01101 000 b	
//	38400 -> 11001 000 b   |		*
//	51200 -> 10011 000 b   |		*
//	57600 -> 10000 000 b   |		*
//	102400-> 01001 000 b   |	 	*
//	115200-> 01000 000 b   |	 	*

	FURXEN=1;		// Enable UART

	
	FRXIEN=1;		// Enable RX interrupt
	FRXIRQ=0;		// clear RX interrupt request flag

//------------check data receive status-------------------------------------------------------
//
//	URXS1    URXS0
//	  0	       0	-->	No data received
//	  0        1    -->	Data received, but parity checking error occurrence
//	  1        0	-->	Data received successfully
//    1        1 	-->	Data received successfully
//
//

   	rx_state=0;  

    while ((FURXS1==0)&&(FURXS0==0))
    NOP(1);								// No data received

    if((FURXS1==0)&&(FURXS0==1))		// Data received, but parity checking error occurrence
		 rx_state=1;

	else if((FURXS1==1)&&(FURXS0==0))
		 	rx_state=2;					// Data received successfully

	else if((FURXS1==1)&&(FURXS0==1))
		 	rx_state=3;					// Data received successfully
		 
    

    while (FRXIRQ==0)
	NOP(1);
	FRXIRQ=0;
	rx_buf=URRXD1;
//===========================================
//
//	User code
//
//===========================================

}


	

⌨️ 快捷键说明

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