#include #include "yc11xx.h" #include "yc11xx_uart.h" #include "yc11xx_gpio.h" #include "SCI7816.h" #define LOW 0 #define HIGH 1 #define SCI7816_DETECT_GPIO 23 #define PULLUP 0 #define PULLDOWN 1 void LED_Run(void) { static uint32_t times = 0; times++; if(times>0x50000) { times = 0; GPIO_CONFIG(2) = (GPIO_CONFIG(2)==GPCFG_OUTPUT_HIGH)? GPCFG_OUTPUT_LOW: GPCFG_OUTPUT_HIGH; } } #define IO_TXA 8 #define IO_RXA 9 #define IO_TXB 6 #define IO_RXB 14 #define UARTBUFSIZE 128 void UartxInit(USART_TypeDef UARTx) { USART_InitTypeDef USART_InitStruct ; USART_InitStruct.USART_BaudRate = UARTE_BAUDRATE_BAUDRATE_Baud115200; USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStruct.USART_WordLength = USART_WordLength_8b; USART_InitStruct.USART_StopBits = USART_StopBits_1; USART_InitStruct.USART_Mode =USART_Mode_duplex; USART_InitStruct.USART_Parity = USART_Parity_Even ; USART_InitStruct.USART_RXLen = UARTBUFSIZE; USART_InitStruct.USART_TXLen = UARTBUFSIZE; if(UARTA == UARTx){ GPIO_SetGpioMultFunction(IO_TXA,GPCFG_UART_TXD); GPIO_SetGpioMultFunction(IO_RXA,GPCFG_UART_RXD); }else if (UARTB == UARTx){ GPIO_SetGpioMultFunction(IO_TXB,GPCFG_UARTB_TXD); GPIO_SetGpioMultFunction(IO_RXB,GPCFG_UARTB_RXD); } USART_Init(UARTx,&USART_InitStruct); } void debug_print(uint32_t data) { USART_SendData(UARTB,(data>>24) & 0xff); USART_SendData(UARTB,(data>>16) & 0xff); USART_SendData(UARTB,(data>>8 ) & 0xff); USART_SendData(UARTB,(data>>0 ) & 0xff); } void print_buf(uint8_t *data,int len) { int i; for(i=0;i