uart.c

来自「ADI系列DSP blackfin BF533 触摸屏 基于亿旗的开发板」· C语言 代码 · 共 47 行

C
47
字号
//**********************************************************//
//** file: uart.c
//** target: ADSP-BF533
//** creat time: 2008-7-13
#include <sys\exception.h>
#include <cdefBF533.h>
#include "uart.h"

void Init_UART(void)
{
	*pUART_GCTL = 0x0001;
	*pUART_LCR = 0x0083;//UART Line Control Register, prepare for DLL and DLH setting
	asm("ssync;");
	//*pUART_DLL = 0x002B;		//43
	*pUART_DLL = 64;           //baud rate:115200; Baud rate = SCLK/(16*Divisor); SCLK = 118.8MHz
	//*pUART_DLL = 773;
	//*pUART_DLH = 773 % 256;
	*pUART_DLH = 0x0000;		//UART Divisor Latch Registers
							
	asm("ssync;");
	*pUART_LCR = 0x0003;
	asm("ssync;");
	*pUART_MCR = 0x0000;
	*pUART_IER = 0x0001;
	asm("ssync;");
}

//UART transmit function
void uart_tx(unsigned char data)
{
    *pUART_THR = data;
	asm("ssync;");
	while((*pUART_LSR & 0x0020) == 0) ;
}

EX_INTERRUPT_HANDLER(UART_ISR)
{
	unsigned short data;

	// confirm interrupt handling
	if (*pUART_LSR & 0x0001)
	{
		data = *pUART_RBR;
		uart_tx(data);
	}
}

⌨️ 快捷键说明

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