📄 main.c
字号:
/*------------------------------------------------------------------------
MAIN.C
- description
- See README.TXT for project description and disclaimer.
/*----------------------------------------------------------------------*/
#include "mb90540.h"
const char welcome[200]="Welcome at FUJITSU,This is a testing route of UART1 with RS232 by Xiaoquan Tang";
char ch;
/*============================== PROCEDURES ======================================*/
void InitUart(void)
{
/* initialize UART1 e.g. operation mode, baud rate, stop bit, data length etc. */
/* set clockspeed as PLLX4 in start.asm */
DDR4_D45 = 1; /* Make SOT1 working */
SMR1 = 0x01; /* serial mode register */
SCR1 = 0x13; /* serial control register */
U1CDCR = 0x88; /* prescaler control register */
/* baud rate 9600*/
}
void Putch (char ch) /* sends a char */
{
while (SSR1_TDRE == 0); /* wait for transmit buffer empty */
SODR1 = ch; /* put ch into buffer */
/*return ch; return transmitted character */
}
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 */
}
}
/***************************************************************************/
void delay()
{
int i,k;
for(k=0;k<=10;k++)
for(i=0;i<=32760;i++);
}
void main(void)
{
/* initialize UART */
InitUart();
DDR2=0xff; /*set paralleal port 2 direction register as output*/
PDR2=0x55; /*switch on all LED*/
delay(); /*delay some time*/
PDR2=0xaa; /*switch off all LED*/
delay(); /*delay some time*/
PDR2=0x55; /*swtich on all LED*/
delay(); /*delay some time*/
PDR2=0xff; /*swtich off all LED*/
/* Output welcome string */
Puts(welcome);
Putch(10);
Putch(10);
Putch(10);
Putch(13);
/* Echo received characters */
while(1)
{
ch = Getch();
PDR2=~ch; /*display ch with LED*/
Putch(ch);
if (ch==13)
Putch(10);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -