📄 uart_1.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 + -