PX4通过程序输出PWM波控制舵机或者电机

1.先在机架启动脚本中设置PWM引脚(这步不做的话无法输出PWM波)
以450机架为例
其原来的设置如下
set MIXER quad_x
set PWM_OUT 1234

只设置了四个通道

改成如下
set MIXER quad_x
set PWM_OUT 12345678
set PWM_AUX_OUT 123456
set MIXER_AUX dodeca_bottom_cox
设置PWM通道,同时设置一个辅助混控
这样的话就将其他的通道设置用来输出PWM波

调用驱动接口
在自己的线程中添加如下
#include
#define PX4FMU_DEVICE_PATH “/dev/px4fmu”

int fd = open(PX4FMU_DEVICE_PATH, O_RDWR);//fd打开的是FMU通道
if (fd < 0) {
errx(1, “open fail”);
}
if (ioctl(fd, PWM_SERVO_GET_COUNT, (unsigned long)&servo_count) != 0) {
err(1, “Unable to get servo count\n”);
}
nt i=6;//i代表第几个PWM通道
ret=ioctl(fd, PWM_SERVO_SET(i), 1000);//PWM值为1000-2000都可以
if (ret != OK) {
PX4_ERR(“PWM_SERVO_SET(%d)”, i);


 

你可能感兴趣的:(无人机,ROS,人工智能)