#1 楼主:【原创】ZigBee 学习之 42——协议栈中的串口操作
文章发表于:2010-02-27 13:27
如 果 要使 用协 议栈 中提供 的 串口 ,则 需要 定义 HAL_UART 和 HAL_UART TRUE
【hal_board_cfg.h】。首先初始化串口,在主函数中调用 HalDriverInit()时,在函数中初始化
串口,主要是配置管脚和 DMA 通道。然后在 osal_start_system()开始系统后,会调用
Hal_ProcessPoll()来读取时间和串口,
void Hal_ProcessPoll ()
{
HalTimerTick();
#if (defined HAL_UART) && (HAL_UART == TRUE)
HalUARTPoll();
#endif
}
//来看下串口 poll 函数,我们只看 UART0 的,因为我的开发板使用这个串口
void HalUARTPoll( void )
{
#if ( HAL_UART_0_ENABLE | HAL_UART_1_ENABLE )
static uint8 tickShdw;
uartCfg_t *cfg;
uint8 tick;
#if HAL_UART_0_ENABLE
//当发生串口接收中断时 cfg0 就会改变,如果串口没有数据输入 cfg0 为空,当接收到数
据时 cfg0 将在串口中断服务程序中被改变