YITRAN程序.docVIP

  • 5
  • 0
  • 约1.65万字
  • 约 7页
  • 2018-04-23 发布于河南
  • 举报
YITRAN程序

int main(void) { int i; WORD wTimeoutTicks; //定义超时变量 HAL_Init_ConfigureHAL();//初始化UART和定时器模式 { HAL_Init_Global_Interrupt_Switch(ENABLE); // 使能总中断 HAL_Timer_InitTimer0(); HAL_UART_UART0Init(UART0_BaudRate) ; //初始化UART0 8 N 1 19200 使能接收发送,使能接收中断 清g_strUart.UART0_XXX变量 HAL_UART_UART1Init(UART1_BaudRate) ; //初始化UART1 8 N 1 38400 使能接收发送,使能接收中断 清g_strUart.UART1_XXX变量 HAL_ExtInt_Init(); //初始化外部8个中断处理函数 { memset(g_HAL_ExtInt_psCBFunc, 0, sizeof(g_HAL_ExtInt_psCBFunc) * 8); } } //HAL_ExtInt_SetCBPfn(6, ClearActivityEvent); //指定外部中断6的处理函数g_HAL_ExtInt_psCBFunc[6] = ClearActivityEvent(); //HAL_ExtInt_Arm(6, 2); //使能外部中断6为上升沿中断 for(i=0;i0xfff;i++); //延时一定时间 IT700Driver_Init(); //初始化IT700模块 { g_IT700Driver_struct.byIncomingPacketOpcode = 0; g_IT700Driver_struct.byIncomingPacketType = 0; g_IT700Driver_struct.pOnIncomingDataPacket = NULL; g_IT700Driver_struct.wInLength = 0; g_IT700Driver_struct.wInPLIdx = 0; g_IT700Driver_struct.strInData.bInDataRxFlag = FALSE; g_IT700Driver_struct.strInData.wIncomingDataPacketLength = 0; g_IT700Driver_struct.strInResp.bInRespRxFlag = FALSE; g_IT700Driver_struct.byRxState = eIT700DRIVER_RX_STATES_ATTN; HAL_UART_UART1_SetOnRxByteCB(IT700Driver_CB_OnRxByte); //:设定指针到进入的数据CB函数 HAL_Timer_StartTimer0(0x00,HAL_TIMER_CLOCK_DIV_1024); // 启动定时器Timer0 时钟为fc/1024 = 3.6864M/1024,一个时间TICK约为71ms } NLMngHandler_Init(); //初始化NL管理器函数 { g_NLMngHandler_struct.wNLMngIncomingBufferLength = 0; g_NLMngHandler_struct.bConnectedToNC = FALSE; g_NLMngHandler_struct.bAdmissionRequest = FALSE; g_NLMngHandler_struct.bNetworkAddressAssigned = FALSE; } #if STATION_TYPE == REMOTE_METER IT700Driver_SetOnIncomingPacketPointerCB(RS_CB_OnIncomingDataPkt); //设定指针到进入数据包CB函数 仅RS处理函数 g_IT700Driver_struct.pOnIncomingDataPacket = RS_CB_OnIncomingDataPkt; #else IT700Driver_SetOnIncomingPacketPointerCB(NC_CB_OnIncomingDataPkt); //设定指针到进入数据包CB函数 仅NC处理函数 g_IT700Driver_struct.pOnIncomingDataPacket = NC_C

文档评论(0)

1亿VIP精品文档

相关文档