
#ifdef PY32_C
#define PY32_EX
#else 
#define PY32_EX extern 
#endif

#define max_rx1_len  51

struct _suart_
{
u8 b_rx_on:1;
u8 ms10;
u16 in;
u16 out;
u8 rxbuf[max_rx1_len+1];
};

PY32_EX volatile struct _suart_ sUART1;

PY32_EX void DELAY_us(u32 us);
PY32_EX void myDelay_ms(u32 t);
	
PY32_EX void SET_PF1_for_UART_or_GPIO(u8 fun);
PY32_EX void SET_PA2A3_for_UART_or_GPIO(u8 fun);
PY32_EX void SET_PA13A14_for_UART_or_GPIO(u8 fun);
PY32_EX void APP_ConfigUsart(USART_TypeDef *USARTx);

PY32_EX void GPIO_pin_ini(GPIO_TypeDef *GPIOx, uint32_t Pin, uint32_t Mode,u8 pull_or_outLevel);
PY32_EX void GPIO_INI(void);
PY32_EX void RCC_INI(void);
PY32_EX u8	GET_PIN_LEVEL_AND_FLOAT(GPIO_TypeDef *GPIOx, uint32_t Pin );
PY32_EX void GPIO_rf_INT_en_or_dis(u8 en);
PY32_EX void GPIO_PIN_keyInt_SET(u8 en);

PY32_EX void CHK_UART_rxTIMEOUT(void);
PY32_EX void PUT_UART_BUF(volatile struct _suart_ *pUart,u8 dat,u16 max);
PY32_EX void READ_UART(void);
PY32_EX void IWDG_Config(void);
