void serial_init(void) { Timer2_Stop(); // S1_USE_P30P31(); // Use the MCU RXD/TXD programmer port for UART1 S1_USE_P36P37(); // Use the WIFI RXD1/TXD1 port for UART1 S1_8bit(); S1_RX_Enable(); S1_BRT_UseTimer2(); Timer2_Load(Timer2_Reload); Timer2_AsTimer(); Timer2_1T(); PS = 1; // Defines the serial port interrupt priority level. RI = 0; TI = 0; stx_index_in = srx_index_in = stx_index_out = srx_index_out = 0; rx_serial_buffer_empty = tx_serial_buffer_empty = 1; work_flag_buffer_transfered = 0; work_flag_byte_arrived = 0; ES=1; // Enable serial port interrupt. Timer2_Run(); }
void USART_Share_Timer2() { if (!share_timer2_init_finish) { Timer2_Stop(); //Timer stop Timer2_AsTimer(); //Timer2 set As Timer Timer2_1T() ; //Timer2 set as 1T mode // T2_Load(BaudRateTimer); T2L = 0xCC; //设定定时初值 T2H = 0xFF; //设定定时初值 Timer2_InterruptDisable(); //禁止中断 Timer2_Run(); //Timer run enable share_timer2_init_finish = TRUE; } }