?? uart.bak
字號:
/**********************************************************************
UART.c file
ADuC7027的串口函數
作者:Computer-lov
建立日期:2006-3-22
修改日期:2006-3-22
版本:V1.0
版權所有,盜版必究。
Copyright(C) Computer-lov 2006-2016
All rights reserved
**********************************************************************/
#include <../My_type.h>
#include <ADuC7027.H>
#include "UART.H"
//////////////////////////////////////////////////////////////////////
void UART_init(void)
{
GP1CON=0x00000011; //P1.0 P1.1設置為串口功能
COMIEN0=0x00; //禁止所有串口中斷
COMCON0=0x83; //1 stop bit,8 data bits 最高位置1,尋址COMDIV1寄存器
COMDIV1=0x00;
COMDIV2=0x0000;
COMDIV0=0x44; //19200 bps
//COMDIV0=0x88; //9600bps
COMCON0=0x03; //最高位置0,尋址COMTX寄存器。
//因為COMTX寄存器跟COMDIV1寄存器共用一個地址,由COMCON0
}
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
void send_a_byte(uint8 a_byte)
{
while(!(COMSTA0 & 0x40)); //等待發送完畢
COMTX=a_byte;
}
//////////////////////////////////////////////////////////////////////
////////////////////////////// 發送一個字符串 ///////////////////////////////////////////
//////////////////入口參數: s-要發送的字符串的指針(字符串長度不得大于255)/////////////
///////////////////////////////////// newline-是否需要換行 0-不換行 非0-換行////////
void prints(uint8 * s,uint32 newline)
{
unsigned char i;
i=0;
while(s[i]!=0) //判斷字符串是否結束
{
while(!(COMSTA0 & 0x40)); //等待發送完畢
COMTX=s[i];
i++; //移到下字節
}
if(newline) //如果需要換行
{
send_a_byte(13);
send_a_byte(10); //發送回車換行
}
}
////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
void cls(void)
{
send_a_byte(0x0C); //超級終端清屏指令
send_a_byte(0x0C);
}
//////////////////////////////////////////////////////////////////////////////////
/*
const uint8 HEX_TABLE[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//////////////////////////將一個16位的整數按十六進制發到串口/////////////////////////////////
void print_uint16(uint16 number)
{
send_a_byte('0'); //發送0x
send_a_byte('x');
send_a_byte(HEX_TABLE[(number>>12) & 0x0F]); //依次發送各部分
send_a_byte(HEX_TABLE[(number>>8) & 0x0F]);
send_a_byte(HEX_TABLE[(number>>4) & 0x0F]);
send_a_byte(HEX_TABLE[(number) & 0x0F]);
send_a_byte(' ');
}
//////////////////////////////////////////////////////////////////////////////////
*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -