uart.bak
来自「the 232 control demo source for the NEC 」· BAK 代码 · 共 68 行
BAK
68 行
#pragma sfr
#pragma di
#pragma ei
#pragma nop
#pragma interrupt INTSR0 Uart0_Receive_interrupt
#pragma interrupt INTST0 Uart0_Send_interrupt
#include "serial_config.h"
unsigned char SendString[5];
unsigned char ReceiveString[5];
unsigned char *SendPointer = SendString;
unsigned char *ReceivePointer = ReceiveString;
unsigned char i=0;
unsigned char j=0;
void UART0_Init()
{
PM1.0 = Uart_TxD_Output_Mode;
PM1.1 = Uart_RxD_Iutput_Mode;
P1.0 = Uart_TxD_Output_Init;
BRGC0 = Uart0_BaseClk + Uart0_CounterClk;
ASIM0 = Uart0_Asim0_Reset_Value + Uart_Parity + Uart_Data_Bit + Uart_Stop_Bit;
ASIM0 += Uart_Power_On;
RXE0 = 1;
STMK0 = 0;
SRMK0 = 0;
}
void main()
{
DI();
PCC = 0x00;
UART0_Init();
EI();
while(1);
}
__interrupt void Uart0_Receive_interrupt()
{
if(j<5){
*ReceivePointer++ = RXB0 ;
SendString[j] = ReceiveString[j];
j++;
}
if(j==5) {RXE0 = 0; TXE0 = 1; TXS0 = *SendPointer++; i++; j=0; ReceivePointer=ReceiveString; }
}
__interrupt void Uart0_Send_interrupt()
{
if(i<6)
{
TXS0 = *SendPointer++;
i++;
}
if(i==6) {TXE0 = 0; RXE0 = 1; i=0; SendPointer=SendString; }
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?