█ 【移远CAT1模组】005.第一份代码–LED闪烁
代码结构
![]()
在ql-sdk\ql-application\threadx\interface中创建新工程 app_test
1.创建 my_app.c
#include"ql_func.h"#include"ql_application.h"#include"ql_rtos.h"#include"ql_log.h"#include"ql_gpio.h"#definePA_GPIO_PINGPIO_PIN_NO_3staticvoidapp1_task1(void*argv){intret;intled_on=0;ql_log_mask_set(QL_LOG_APP_MASK,QL_LOG_PORT_UART|QL_LOG_PORT_USB);ql_app_log("APP start OK");ret=ql_gpio_init(GPIO_PIN_NO_124,PIN_DIRECTION_OUT,PIN_PULL_DISABLE,PIN_LEVEL_LOW);if(ret!=0){ql_app_log("GPIO124 init failed, ret=%d",ret);return;}while(1){led_on=!led_on;ql_gpio_set_level(GPIO_PIN_NO_124,led_on?PIN_LEVEL_HIGH:PIN_LEVEL_LOW);ql_app_log("LED %s",led_on?"ON":"OFF");ql_rtos_task_sleep_ms(5000);}}application_init(app1_task1,"app1_task1",8,2);
2.创建子目录/模块Makefile (复制 app\Makefile 文件)
SRC_FILES (Source Files):编译的源代码文件,生成对应的 .o 文件
#待编译的源文件 SRC_FILES+=\ my_app.c \
INC_DIRS (Include Directories):头文件的目录路径,告知编译器头文件位置
#指定头文件搜索目录:导入日志 INC_DIRS+=\.......-I${TOP_DIR}/interface/log/inc \
![]()
3.修改根目录 Makefile(ql-application\threadx\Makefile)
COMMPILE_DIRS:=\ interface/app_test \ interface/driver \
![]()
模块引脚号与软件 GPIO 编号的映射关系
USER灯控制引脚21对应的是GPIO_PIN_124
![]()
映射代码(ql-sdk\ql-kernel\threadx\init\build\obj\quec_board_cfg.ppp)
{"EC800M"},{{77,GPIO_PIN_4},{76,GPIO_PIN_5},{16,GPIO_PIN_6},{78,GPIO_PIN_7},{75,GPIO_PIN_10},{74,GPIO_PIN_11},{68,GPIO_PIN_12},{69,GPIO_PIN_13},{84,GPIO_PIN_14},{85,GPIO_PIN_15},{81,GPIO_PIN_20},{54,GPIO_PIN_21},{80,GPIO_PIN_22},{56,GPIO_PIN_23},{55,GPIO_PIN_24},{57,GPIO_PIN_25},{58,GPIO_PIN_26},{38,GPIO_PIN_29},{39,GPIO_PIN_30},{49,GPIO_PIN_32},{21,GPIO_PIN_124},{87,GPIO_PIN_0},{86,GPIO_PIN_1},{28,GPIO_PIN_2},{29,GPIO_PIN_3},{83,GPIO_PIN_8},{82,GPIO_PIN_9},{30,GPIO_PIN_16},{31,GPIO_PIN_17},{33,GPIO_PIN_18},{32,GPIO_PIN_19},{79,GPIO_PIN_69},{25,GPIO_PIN_70},{17,GPIO_PIN_51},{18,GPIO_PIN_52},{23,GPIO_PIN_53},{22,GPIO_PIN_54},{20,GPIO_PIN_31},{19,GPIO_PIN_27},{105,GPIO_PIN_79},{104,GPIO_PIN_80},{53,GPIO_PIN_33},{52,GPIO_PIN_34},{51,GPIO_PIN_35},{50,GPIO_PIN_36},{67,GPIO_PIN_49},{66,GPIO_PIN_50},{13,GPIO_PIN_81},{11,GPIO_PIN_82},{12,GPIO_PIN_83},{62,GPIO_PIN_45},{64,GPIO_PIN_46},{63,GPIO_PIN_47},}