/* * File : application.c * This file is part of RT-Thread RTOS * COPYRIGHT (C) 2006, RT-Thread Development Team * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.rt-thread.org/license/LICENSE * * Change Logs: * Date Author Notes * 2009-01-05 Bernard the first version * 2014-04-27 Bernard make code cleanup. */ #include #include #include #ifdef RT_USING_GUIENGINE #include "rtgui_demo.h" #include #endif #include void gd_eval_led_init (void) { /* enable the led clock */ rcu_periph_clock_enable(RCU_GPIOD); /* configure led GPIO port */ gpio_mode_set(GPIOD, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE,GPIO_PIN_4); gpio_output_options_set(GPIOD, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ,GPIO_PIN_4); GPIO_BC(GPIOD) = GPIO_PIN_4; } void rt_init_thread_entry(void* parameter) { /* initialization RT-Thread Components */ #ifdef RT_USING_COMPONENTS_INIT rt_components_init(); #endif gd_eval_led_init(); #ifdef RT_USING_GUIENGINE { rt_device_t device; device = rt_device_find("lcd"); /* re-set graphic device */ rtgui_graphic_set_device(device); rt_gui_demo_init(); } #endif while(1) { GPIO_TG(GPIOD) = GPIO_PIN_4; rt_thread_delay(RT_TICK_PER_SECOND); } } int rt_application_init() { rt_thread_t tid; tid = rt_thread_create("init", rt_init_thread_entry, RT_NULL, 2048, RT_THREAD_PRIORITY_MAX/3, 20); if (tid != RT_NULL) rt_thread_startup(tid); return 0; }