PX7185
带电量传输的串口 RF 收发 IC
COMx_InitStructure.UART_Interrupt = ENABLE;
// 中 断 允 许 ,
ENABLE 或
DISABLE
COMx_InitStructure.UART_Polity
COMx_InitStructure.UART_P_SW
UART1_SW_P30_P31,UART1_SW_P36_P37,UART1_SW_P16_P17(必须使用内部时钟)
= PolityLow;
//中断优先级, PolityLow,PolityHigh
= UART1_SW_P30_P31; //
切
换
端
口
,
COMx_InitStructure.UART_RXD_TXD_Short = DISABLE;
ENABLE,DISABLE
//内部短路 RXD 与 TXD, 做中继,
//初始化串口 1 USART1,USART2
USART_Configuration(USART1, &COMx_InitStructure);
PrintString1("STC15F2K60S2 UART1 Test Prgramme!\r\n"); //SUART1 发送一个字符串
}
COMx_DefineCOM1;
u8 xdata TX1_Buffer[COM_TX1_Lenth]; //发送缓冲
u8 xdata RX1_Buffer[COM_RX1_Lenth]; //接收缓冲
u8 USART_Configuration(u8 UARTx, COMx_InitDefine *COMx)
{
u8 i;
u32 j;
if(UARTx == USART1)
{
COM1.id = 1;
COM1.TX_read
= 0;
COM1.TX_write = 0;
COM1.B_TX_busy = 0;
COM1.RX_Cnt
= 0;
COM1.RX_TimeOut = 0;
COM1.B_RX_OK
= 0;
for(i=0; i<COM_TX1_Lenth; i++)TX1_Buffer[i] = 0;
for(i=0; i<COM_RX1_Lenth; i++)RX1_Buffer[i] = 0;
if(COMx->UART_Mode > UART_9bit_BRTx) return 1; //模式错误
if(COMx->UART_Polity == PolityHigh)
else
PS = 1; //高优先级中断
PS = 0; //低优先级中断
SCON = (SCON & 0x3f) | COMx->UART_Mode;
if((COMx->UART_Mode == UART_9bit_BRTx) ||(COMx->UART_Mode == UART_8bit_BRTx))
//可变波特率
{
j = (MAIN_Fosc / 4) / COMx->UART_BaudRate;
//按 1T 计算
if(j >= 65536UL) return 2; //错误
12