int32_t main() { STR_UART_T sParam; UNLOCKREG(); DrvSYS_Open(50000000); LOCKREG(); DrvGPIO_InitFunction(E_FUNC_UART0); // Set UART pins /* UART Setting */ sParam.u32BaudRate = 9600; sParam.u8cDataBits = DRVUART_DATABITS_8; sParam.u8cStopBits = DRVUART_STOPBITS_1; sParam.u8cParity = DRVUART_PARITY_NONE; sParam.u8cRxTriggerLevel= DRVUART_FIFO_1BYTES; /* Set UART Configuration */ if(DrvUART_Open(UART_PORT0,&sParam) != E_SUCCESS); DrvUART_EnableInt(UART_PORT0, DRVUART_RDAINT, UART_INT_HANDLE); init_LCD(); // initialize LCD panel clear_LCD(); // clear LCD panel print_Line(0, "Smpl_UART0_HC05"); // print title while(1) { } //DrvUART_Close(UART_PORT0); }
int main (void) { // uint32_t Temp=0; //================================配置系统时钟==============// UNLOCKREG(); SYSCLK->PWRCON.OSC22M_EN = 1;//default is enabled SYSCLK->PWRCON.XTL12M_EN = 1; SYSCLK->CLKSEL0.HCLK_S = 0;//using 12M as HCLK src // DrvSYS_Delay(5000); Delay(5000) ; DrvSYS_Open(48000000); // DSP_INIT_PIN = 0 ; // LCD_POWER = 1 ; // //===================================================================================// BSP_INIT_UART0(); //init the uart0 GR_DBG_PRINTF("System Is run\n\n"); DrvUART_EnableInt(UART_PORT0,DRVUART_RDAINT | DRVUART_TOUTINT,UART_INT_HANDLE); // //===================================================================================// // Vir_Init() ; //初始化环境变量 ////===============================读取dataflash存储的系统信息=========================// //读取flash中数据 第一次运行读写写入默认值 ////======================================开始任务=====================================// OSInit(); CPU_IntDis() ; // SysTick_Config(120000); // InitValue(); #ifdef THREAD_TEST OSTaskCreateExt(Task2, (void *)0, (OS_STK *)&Task2_Stack[STACK2SIZE-1], Task2_Prio,Task2_Prio,Task2_Stack,STACK2SIZE ,NULL,OS_TASK_OPT_STK_CHK); OSTaskCreateExt(Task1, (void *)0, (OS_STK *)&Task1_Stack[STACK1SIZE-1], Task1_Prio,Task1_Prio,Task1_Stack,STACK1SIZE,NULL,OS_TASK_OPT_STK_CHK); OSTaskCreateExt(Task3, (void *)0, (OS_STK *)&Task3_Stack[STACK3SIZE-1], Task3_Prio,Task3_Prio,Task3_Stack,STACK3SIZE,NULL,OS_TASK_OPT_STK_CHK); // OSTaskCreate(SYS_Task, (void *)0, (OS_STK *)&SYS_Task_Stack[STACKSIZE-1],SYS_Task_Prio); #endif OSStart(); //===================================================================================// }
void SystemClockInit(void) { UNLOCKREG(); DrvSYS_SetOscCtrl(E_SYS_XTL12M, ENABLE); DrvSYS_Delay(5000); DrvSYS_Open(50000000); /* Enable PLL */ //DrvSYS_SetPLLMode(0); /* Switch to PLL clock */ // DrvSYS_SelectHCLKSource(2); /* Update system core clock */ //SystemCoreClockUpdate(); }
//------------------------------ void bacarfid(){ uint8_t hasiluart[8]; STR_UART_T sParam; UNLOCKREG(); DrvSYS_Open(50000000); LOCKREG(); /* Set UART Pin */ DrvGPIO_InitFunction(E_FUNC_UART0); /* UART Setting */ sParam.u32BaudRate = 9600; sParam.u8cDataBits = DRVUART_DATABITS_8; sParam.u8cStopBits = DRVUART_STOPBITS_1; sParam.u8cParity = DRVUART_PARITY_NONE; sParam.u8cRxTriggerLevel= DRVUART_FIFO_1BYTES; DrvUART_Open(UART_PORT0,&sParam); }
//***************************************************************************** // //! \brief GPIO test. //! //! \param None //! //! \return None // //***************************************************************************** void GpioTest(void) { int32_t i32Err; UNLOCKREG(); // // Enable high external clock and use it as system clock (HCLK) // DrvSYS_Open(XTL_CLK); // // Waiting for 12M Xtal stable // while (DrvSYS_GetChipClockSourceStatus(XTL_CLK) != 1); // // Configure Bit0 in Port1 to Output pin and Bit4 in Port3 to Input // pin then close it // DrvGPIO_Open(E_PORT1, E_PIN0, E_IO_OUTPUT); DrvGPIO_Open(E_PORT3, E_PIN4, E_IO_INPUT); i32Err = 0; DrvGPIO_ClrBit(E_PORT1, E_PIN0); if (DrvGPIO_GetBit(E_PORT3, E_PIN4) != 0) { i32Err = 1; } DrvGPIO_SetBit(E_PORT1, E_PIN0); if (DrvGPIO_GetBit(E_PORT3, E_PIN4) != 1) { i32Err = 1; } DrvGPIO_Close(E_PORT1, E_PIN0); DrvGPIO_Close(E_PORT3, E_PIN4); // // GPIO Interrupt Test:P15, P22, P32(INT0) and P52(INT1) are used to test // interrupt and control LEDs(P30) // // //Configure P30 for LED control // DrvGPIO_Open(E_PORT3, E_PIN0, E_IO_OUTPUT); // //Configure P15 as general GPIO interrupt // DrvGPIO_Open(E_PORT1, E_PIN5, E_IO_INPUT); // //The Quasi-bidirection mode could be used as input with pull up enable // DrvGPIO_Open(E_PORT2, E_PIN2, E_IO_QUASI); // // Configure general interrupt callback function for P0/P1 and P2/P3/P4 // DrvGPIO_SetIntCallback(P0P1Callback, P2P3P4Callback, P5Callback); DrvGPIO_EnableInt(E_PORT1, E_PIN5, E_IO_RISING, E_MODE_EDGE); // // IO_FALLING means low level trigger if it is in level trigger mode. // DrvGPIO_EnableInt(E_PORT2, E_PIN2, E_IO_FALLING, E_MODE_LEVEL); DrvGPIO_SetDebounceTime(0, E_DBCLKSRC_HCLK); DrvGPIO_EnableDebounce(E_PORT1, E_PIN5); DrvGPIO_EnableDebounce(E_PORT2, E_PIN2); DrvGPIO_EnableDebounce(E_PORT3, E_PIN2); DrvGPIO_EnableDebounce(E_PORT5, E_PIN2); // // Configure external interrupt. // DrvGPIO_InitFunction(FUNC_EXTINT0); DrvGPIO_InitFunction(FUNC_EXTINT1); DrvGPIO_EnableEINT(E_EINT0_PIN, E_IO_FALLING, E_MODE_EDGE, EINT0Callback); DrvGPIO_EnableEINT(E_EINT1_PIN, E_IO_BOTH_EDGE, E_MODE_EDGE, EINT1Callback); }