實驗現象:
核心程式碼:
int main(void) { GPIO_InitTypeDef GPIO_InitStruct; __HAL_RCC_GPIOI_CLK_ENABLE(); __HAL_RCC_GPIOH_CLK_ENABLE(); HAL_GPIO_WritePin(GPIOH, GPIO_PIN_6|GPIO_PIN_8, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOI, GPIO_PIN_3, GPIO_PIN_SET); /*Configure GPIO pin : PI8 */ GPIO_InitStruct.Pin = GPIO_PIN_8; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOI, &GPIO_InitStruct); /*Configure GPIO pins : PH6 PH8 */ GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_8; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); /*Configure GPIO pin : PH7 */ GPIO_InitStruct.Pin = GPIO_PIN_7; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); /*Configure GPIO pin : PI3 */ GPIO_InitStruct.Pin = GPIO_PIN_3; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; HAL_GPIO_Init(GPIOI, &GPIO_InitStruct); led.initialize(); key.initialize(); system_clock.initialize(); delay.initialize(216); adc.initialize(); my_malloc.initialize(SRAMIN); usart6.initialize(115200); OSInit(); while(lwip.initialize()) { LED_RED_ON; usart6.printf("\r\nETH initialize error!\r\n\r\n"); } web.initialize(); OSTaskCreate(start_task,(void*)0,(OS_STK*)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO); OSStart(); //¿ªÆôUCOS }
原始碼下載連結:
連結: https://pan.baidu.com/s/1nvtDVgH 密碼: fj9c
iCore4連結: