PIX4中CAN调试——学习记录


固件版本:V1.13.0
编译版本:make px4_fmu-v3_default

一、先行知识—nuttx驱动

Nuttx驱动知识—学习记录

二、PX4中CAN驱动设置

配置nuttx操作系统

1.打开menuconfig

先运行如下指令,什么是menuconfig

$ make px4_fmu-v3_default menuconfig

可能出现如下报错,没有错误的此步忽略

/bin/sh: 1: kconfig-mconf: not found
tools/Makefile.unix:518: recipe for target 'menuconfig' failed
make: *** [menuconfig] Error 127

上述错误原因大概率是没有安装KConfig,安装方法如下,安装过程可能出现的问题及解决方法

$ git clone https://bitbucket.org/nuttx/tools.git
$ cd tools/kconfig-frontends

###################### on MacOS do the following#########################
$ patch < ../kconfig-macos.diff -p 1
$ ./configure --enable-mconf --disable-shared --enable-static --disable-gconf --disable-qconf --disable-nconf

#####################on Linux do the following###########################
$ ./configure --enable-mconf --disable-nconf --disable-gconf --disable-qconf

$ make
$ make install

2.配置menuconfig相关内容
安装完成后执行make px4_fmu-v3_default menuconfig就可以进入如下界面

在这里插入图片描述
打开PX4中与CAN相关的设备文件
Arrow keys navigate the menu in the bottom
Enter select submenus- - ->, or empty submenus - - - -
press Y includes, N excludes

Device Drivers —> CAN Driver Support
Application Configuration —> CAN Utilities —> CAN utility library
Application Configuration —> Examples —> CAN example
System Type —> STM32 Peripheral Support —> CAN1

3.修改固件源码

修改can的程序./platforms/nuttx/NuttX/apps/examples/can/can_main.c
在程序中添加初始化的代码can_devinit(),放在CAN初始化的代码里面

在这里插入图片描述

4. 设置验证

#编译下载
$ make px4_fmu-v3_default upload
#打开mavlink console
$ ./Tools/mavlink_shell.py /dev/ttyACM0
Connecting to MAVLINK...

NuttShell (NSH) NuttX-10.2.0
nsh>
nsh>
#输入 can 指令 
nsh> can
#输出
nmsgs: 0
min ID: 1 max ID: 2047
Bit timing:
   Baud: 250000
  TSEG1: 6
  TSEG2: 7
    SJW: 1
    ID:    1 DLC: 1

至此即表示CAN驱动配置完成,可以编写应用程序进行开发

PX4中编写简单的CAN应用程序—学习记录

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渣渣喝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值