📄 uart2.c
字号:
//*----------------------------------------------------------------------------
//* 函数名: AT91F_DBGU_Init
//* 功能:初始化DBUG口,即可作为DBGU功能,又可作为普通USART口功能
//* Creation : 张正锋 2005-12-30
//*----------------------------------------------------------------------------
void AT91F_DBGU_Init(void)
{
//* 配置I/O
AT91F_DBGU_CfgPIO(); //调用库函数
//* 复位发送功能,允许发送
AT91F_US_ResetTx ((AT91PS_USART)AT91C_BASE_DBGU);//调用库函数
//* 复位接收功能,允许接受
AT91F_US_ResetRx ((AT91PS_USART)AT91C_BASE_DBGU);//调用库函数
//* 配置 DBGU 打开PDC
AT91F_US_Configure ( // 调用库函数
(AT91PS_USART) AT91C_BASE_DBGU, // DBGU 基地址
MCK,
AT91C_US_ASYNC_MODE , // 模式积存器
AT91C_DBGU_BAUD , // 波特率
0); // 触发时间
//* 允许接受
AT91F_US_EnableTx ((AT91PS_USART)AT91C_BASE_DBGU);
//* 允许发送
AT91F_US_EnableRx ((AT91PS_USART)AT91C_BASE_DBGU);
//* 允许接受缓冲区
AT91F_AIC_ConfigureIt ( AT91C_BASE_AIC,
AT91C_ID_SYS,
DBGU_SYS_LEVEL,
AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE,
DBGU_irq_handler);
///////////////////////////////////////////////////////////////////////////////////////////
//* 启动PDC接受
AT91F_USRT_FrameReceive((AT91PS_USART)AT91C_BASE_DBGU,ReceiveBuffer,BufferLength);
//* 允许接受缓冲区满中断
AT91F_US_EnableIt((AT91PS_USART)AT91C_BASE_DBGU,AT91C_US_RXBUFF);
//* 允许DBGU系统中断
AT91F_AIC_EnableIt (AT91C_BASE_AIC, AT91C_ID_SYS);
}
//*----------------------------------------------------------------------------
//*函数名:AT91F_US0_Init
//* 功能:初始化US0口
//* Creation : 张正锋 2005-12-30
//*----------------------------------------------------------------------------
void AT91F_US0_Init(void)
{
//* 配置I/O
AT91F_US0_CfgPIO (); //调用库函数
//开US1时钟
AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1<<AT91C_ID_US0 );
//* 复位发送功能,允许发送
AT91F_US_ResetTx (AT91C_BASE_US0);//调用库函数
//* 复位接收功能,允许接受
AT91F_US_ResetRx (AT91C_BASE_US0);//调用库函数
//* 配置US0
AT91F_US_Configure ( ///调用库函数
AT91C_BASE_US0, // US0基地址
MCK,
AT91C_US_ASYNC_MODE , // 模式积存器
AT91C_US0_BAUD, // 波特率
0);
//* 允许传输
AT91F_US_EnableTx (AT91C_BASE_US0);
//*允许接受
AT91F_US_EnableRx (AT91C_BASE_US0);
//* 允许接受缓冲区满中断
AT91F_AIC_ConfigureIt ( AT91C_BASE_AIC,
AT91C_ID_US0,
US0_SYS_LEVEL,
AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE,
US0_irq_handler);
//开启US0的PDC,接受数据
AT91F_USRT_FrameReceive(AT91C_BASE_US0,ReceiveBuffer,BufferLength);
//*允许接受缓冲区满中断
AT91F_US_EnableIt(AT91C_BASE_US0,AT91C_US_RXBUFF);
//* 允许总中断
AT91F_AIC_EnableIt (AT91C_BASE_AIC, AT91C_ID_US0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -