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

📄 uart.c

📁 the 232 control demo source for the NEC mcu
💻 C
字号:


#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -