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

📄 main.c

📁 基于ARM7的开发板的键盘驱动程序
💻 C
字号:
/****************************************************************************
* 文 件 名:main.c
* 功    能:PC键盘控制与键值读取
* 说    明:将跳线JP7全部短接。
****************************************************************************/
#include    "config.h"

char UART0_Buf[256];

void  UART0_Init (uint32 UART_BPS);
void  UART0_SendByte(uint8 data);
void  UART0_SendStr(char *str);

/****************************************************************************
* 名    称:main()
* 功    能:主函数
****************************************************************************/
int main (void)
{       
    /* 初始化I/O,KEY_CLK、EKY_DAT均设置为输入模式 */
    PINSEL0 = 0x00000005;
    PINSEL1 = 0x00000000;
    IO0DIR  = 0x00000000;
    UART0_Init (115200);

    SendKeyCmd(0xed);                           // 控制键盘LED灯
    SendKeyCmd(0x04);    

    while(1)
    {   
        sprintf(UART0_Buf, "PCKEY = 0x%x \n", My_GetCh());
        UART0_SendStr(UART0_Buf);
    }
    
    return(0);
}

/****************************************************************************
* 名    称 :UART0_Init()
* 功    能 :串口初始化,设置为8位数据位,1位停止位,无奇偶校验
* 入口参数 :uint32 UART_BPS 波特率
* 出口参数 :无
****************************************************************************/
void UART0_Init (uint32 UART_BPS)
{   uint16 Fdiv;
	
	PINSEL0 = (PINSEL0 & (~0x0F)) | 0x05;	// 设置I/O连接到UART0
	U0LCR = 0x83;							// DLAB=1,允许设置波特率
	Fdiv  = (Fpclk / 16) / UART_BPS;		// 设置波特率
	U0DLM = Fdiv / 256;
	U0DLL = Fdiv % 256;
	U0LCR = 0x03;
}

				
/****************************************************************************
* 名    称:UART0_SendByte()
* 功    能:向串口发送字节数据,并等待发送完毕。
* 入口参数:data		要发送的数据
* 出口参数:无
****************************************************************************/
void  UART0_SendByte(uint8 data)
{  
    U0THR = data;				                // 发送数据
    while( (U0LSR&0x40)==0 );	                // 等待数据发送完毕
}

/****************************************************************************
* 名    称:UART0_SendStr()
* 功    能:向PC机发送字串,以便显示。
* 入口参数:str      要发送的字符串,字串以'\0'结束
* 出口参数:无
****************************************************************************/
void  UART0_SendStr(char *str)
{  while(1)
   {  if(*str=='\0') break;                     // 若为'\0',则退出
      UART0_SendByte(*str++);                   // 发送显示数据
   }
} 

/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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