根据官网的介绍,编入一个小代码到PX4中。 具体参考https://dev.px4.io/en/apps/hello_sky.html
First Application Tutorial (Hello Sky)
在Firmware/src/examples/px4_simple_app目录下
第一步:创立一个C文件px4_simple_app.c
#include <px4_config.h> #include <px4_tasks.h> #include <px4_posix.h> #include <unistd.h> #include <stdio.h> #include <poll.h> #include <string.h> #include <math.h> __EXPORT int px4_simple_app_main(int argc, char *argv[]);
int px4_simple_app_main(int argc, char *argv[]) { PX4_INFO("Hello Sky!"); PX4_INFO("exiting"); return 0; }
第二步:在同目录下建立一个CMAKE文件
以下是Cmake文件
px4_add_module( MODULE examples__px4_simple_app #目录名# MAIN px4_simple_app #命令名# STACK_MAIN 2000 SRCS px4_simple_app.c (文件名) DEPENDS )
第三步:进入Firmware/boards/px4下,假设我们使用V5,则进入fmu-v5中,打开default.cmake
拉到最下面查看example下面是否有px4_simple_app(如果是蓝色的注释,则把#去掉即可),这样能保证cmake文件编译到
EXAMPLES bottle_drop # OBC challenge fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control hello hwtest # Hardware test #matlab_csv_serial position_estimator_inav px4_mavlink_debug # Tutorial code from http://dev.px4.io/en/debug/debug_values.html px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html rover_steering_control # Rover example app segway uuv_example_app
第四步:将V5的代码重新编译make px4_fmu-v5_default
第五步:检测是否有效,连接pixhawk,上传固件 make px4_fmu-v5_default upload, 在QGC中读串口消息,参考
https://blog.csdn.net/zouxu634866/article/details/90200850
输入px4_simple_app 检测
如果生效:会输出 HELLO SKY 和 EXITING
