⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ffuart_method.c

📁 ARM9WindowsOS下电机控制 蜂鸣控制 需要高度自治的试验平台
💻 C
字号:
typedef unsigned short	ulong;
#define FFUART_BASE        0x40100000
#define FFRBR	         (*((volatile ulong *)(FFUART_BASE+0x00)))
#define FFTHR              (*((volatile ulong *)(FFUART_BASE+0x00)))
#define FFIER          	(*((volatile ulong *)(FFUART_BASE+0x04)))
#define FFIIR          	(*((volatile ulong *)(FFUART_BASE+0x08)))
#define FFFCR          	(*((volatile ulong *)(FFUART_BASE+0x08)))
#define FFLCR          	(*((volatile ulong *)(FFUART_BASE+0x0C)))
#define FFMCR          	(*((volatile ulong *)(FFUART_BASE+0x10)))
#define FFLSR          	(*((volatile ulong *)(FFUART_BASE+0x14)))
#define FFMSR          	(*((volatile ulong *)(FFUART_BASE+0x18)))
#define FFSPR          	(*((volatile ulong *)(FFUART_BASE+0x1C)))
#define FFISR          	(*((volatile ulong *)(FFUART_BASE+0x20)))

#define FFFOR          	(*((volatile ulong *)(FFUART_BASE+0x24)))
#define FFABR          	(*((volatile ulong *)(FFUART_BASE+0x28)))
#define FFACR          	(*((volatile ulong *)(FFUART_BASE+0x2c)))

#define FFDLL          	(*((volatile ulong *)(FFUART_BASE+0x00)))
#define FFDLH          	(*((volatile ulong *)(FFUART_BASE+0x04)))




void SerialInit(void){

int i=1000;

   FFIER = 0x40;

while (i>0)i--;

   
   FFLCR = 0x3;

   
   FFFCR = 0xc1;

  
   FFLCR |= 0x80;

 
   FFDLL = 0x8;

   FFDLH = 0x0;
   
   FFLCR &= 0x7F;

   while (!(FFLSR & 0x40));

   return;
}


void SerialOutputByte(const char c)
{

	
	while ((FFLSR & 0x20) == 0 );

	FFTHR = (c & 0xFF);

}

void SerialOutputString(char * str)
{
   int i=0;
   while( (*(str+i))!='\0')
     {
        SerialOutputByte(*(str+i));
        i++;
     }


}


int SerialInputByte(char *c)
{
	if((FFLSR & 0x1)==0)
	{
		return 0;
	} 
	else 
	{

		*c = FFRBR;
		return 1;
	}
}


⌨️ 快捷键说明

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