📄 serial.c
字号:
/*------------------------------------------------------------------------
This software includes some function about operating UART of MB90F54X.
Copyright 2002-2003,Xiaoquan Tang
File : serial.c
by Xiaoquan Tang
E-mail:xqtang@vip.sina.com
History:
Date Version Author Description
3-5-03 1.0 initial version Xiaoquan Tang
---------------------------------------------------------------------- */
#include "mb90540.h"
#include "text.h"
// initialize UART1
// set clockspeed as PLLX4 in start.asm
void InitUart(void)
{
DDR4_D45 = 1; // Make SOT1 working
SMR1 = 0x01; // serial mode register,asynchronous normal and serial data output pin
SCR1 = 0x13; // serial control register,no party,8 bit,enable receive and transmit
U1CDCR = 0x88; // prescaler control register, baud rate 9600
}
// sends a char
void Putch (char ch)
{
while (SSR1_TDRE == 0); // wait for transmit buffer empty
SODR1 = ch; // put ch into buffer
}
char Getch (void) // waits for and returns incomming char
{
unsigned ch;
while(SSR1_RDRF == 0); // wait for data received
if (SSR1_ORE || SSR1_FRE) // overrun error or frame error
{
ch = SIDR1; // reset error flags
return (-1);
}
else
return (SIDR1); // return char
}
void Puts (const char *Name2) // Puts a String to UART
{
char c;
int i,len;
len = strlen(Name2);
for (i=0; i<len; i++) // go through string
{
c=(Name2[i]); // pick char
Putch (c); // send it out
}
Putch (0x0d); // put new line
Putch (0x0a);
}
void Disptitle(void)
{
Putch (13);
Putch (10);
Puts (mark1);
Puts (mark2);
Puts (mark3);
Puts (mark4);
Puts (mark5);
Puts (mark6);
Puts (mark7);
Puts (mark8);
Puts (mark9);
Puts (marka);
Puts (markb);
Puts (markc);
Puts (markd);
Putch (10);
Puts (text1);
Putch (10);
Puts (text2);
Puts (text3);
Puts (text4);
Puts (text5);
Putch (10);
Puts (text6);
Putch (0x20);
Putch (0x20);
Putch (0x20);
Putch (0x20);
Putch (0x20);
Putch (0x20);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -