📄 uart.c
字号:
#pragma sfr
#pragma di
#pragma ei
#pragma nop
#pragma interrupt INTSRE6 Uart6_Error_interrupt
#pragma interrupt INTSR6 Uart6_Receive_interrupt
#pragma interrupt INTST6 Uart6_Send_interrupt
#pragma interrupt INTSR0 Uart0_Receive_interrupt
#pragma interrupt INTST0 Uart0_Send_interrupt
#include "serial_config.h"
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;
Uart0_Transmit_Operation();
Uart0_Receive_Operation();
STMK0 = 0;
SRMK0 = 0;
}
void UART6_Init()
{
PM1.3 = Uart_TxD_Output_Mode;
PM1.4 = Uart_RxD_Iutput_Mode;
P1.3 = Uart_TxD_Output_Init;
CKSR6 = Uart6_BaseClk;
BRGC6 = Uart6_CounterClk;
ASIM6 = Uart6_Reception_Error_Interrupt + Uart_Parity + Uart_Data_Bit + Uart_Stop_Bit;
ASICL6 = Uart6_First + Uart6_TxD6_Output_Level;
ASIM6 += Uart_Power_On;
Uart6_Transmit_Operation();
Uart6_Receive_Operation();
STMK6 = 0;
SRMK6 = 0;
SREMK6 = 0;
}
void Uart0_Transmit_Start(){ TXS0 = 0x55; }//*Uart0_SendBuf; }
void Uart6_Transmit_Start(){ TXB6 = *Uart6_SendBuf; }
void main()
{
DI();
PCC = 0x00;
UART0_Init();
EI();
Uart0_Transmit_Start();
while(1);
}
__interrupt void Uart6_Error_interrupt(){}
__interrupt void Uart6_Receive_interrupt(){}
__interrupt void Uart6_Send_interrupt(){}
__interrupt void Uart0_Receive_interrupt(){}
__interrupt void Uart0_Send_interrupt(){TXS0 = 0x55;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -