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

📄 uart_1.cpp

📁 ads1.2 下的EP9315的源代码(UART)
💻 CPP
字号:
#include "9315addr.h"
#include "uart.h"
#define uart_CtrlHigh 0x60
#define UARTBAUD   1<<29
#define U1EN       1<<18  
#define H_BR       0x0
#define L_BR       0xf
#define UARTE      0x1
/*************************************
*************初始化*********************
**************************************/
void uart_init_start(void)
{
  
  PwrCnt = UARTBAUD;
  DeviceCfg = U1EN;
  UART1LinCtrlHigh = uart_CtrlHigh;
  UART1LinCtrlMid  = H_BR;
  UART1LinCtrlLow  = L_BR;
 UART1Ctrl = UARTE;
}
/*************************************
**************单个数据发送*********************
**************************************/
void uart_data_send(unsigned char data)
{
     while((UART1Flag&0x8)!=0);
     UART1Data = data;
     while((UART1Flag&0x8)!=0);
     
}
/*************************************
***************数组数据发送***********************
**************************************/
void uart_sev_send(unsigned char *sev,unsigned char len) 
{  
     unsigned char i;
   for(i=0;i<len;i++)
   {
      while((UART1Flag&0x8)!=0);
      UART1Data = sev[i];
    }
}
/*************************************
****************字符发送**********************
**************************************/
void uart_str_send(const char *str,unsigned char len) 
{  
   
   unsigned char i;
   for(i=0;i<len;i++)
   {
      while((UART1Flag&0x8)!=0);
      UART1Data =str[i];
   }   
}
/*************************************
***************uart打印函数***********************
**************************************/
void printf(const char *fmt, long dt)
{  
   const char *fmt1;
   
  unsigned long ddt,t;
   unsigned char len1,i;
   unsigned char tdt[16]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44,0x45,0x46};
   len1 = strlen(fmt);
   if(fmt[0] == '\n')
   {
       fmt1 = "\r";
       uart_str_send(fmt1,1);
   }
   uart_str_send(fmt,len1);
   uart_data_send(0x20);
  if(dt!= null)
  {
    uart_data_send(0x30);
    uart_data_send(0x78);
   ddt = dt;
   for(i=0;i<8;i++)
   {
    t = ddt/0x10000000;
    uart_data_send(tdt[t]);
    ddt = ddt<<4;
    }
    
  }
  uart_data_send(0x20); 
}

⌨️ 快捷键说明

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