全部文档
OneOS简介 硬件支持 快速开发指南 编译构造工具 API参考文档 高级语言 用户编程手册 OnePos定位 应用笔记 FAQ

CAN设备用户开发


基础BSP配置--以STM32为例

建立工程文件

如果在提供的OneOS源码中已经有适配好的DEMO工程,则可以直接使用;如果没有请参照快速上手中的操作指南,新建一个适合的工程。

使用STM32CUBEMX配置硬件

  1. 打开 oneos\projects\xxxxx(project文件夹)\board\CubeMX_Config下 的 CUBE 工程文件(xxx.ioc);
  2. 在 CUBE 工程中进行 CAN 配置,如下图所示,红色框选中的地方依次选择CAN、勾选Master Mode,注意检查此时自动选择的CAN引脚线是否与硬件电路一致,然后修改[3]中的Time Quanta,保证软件不提醒冲突,接着在Clock Configuration检查时钟配置是否正确;然后检查引脚配置和中断配置如[5]和[6],需要注意,如果外接了CAN控制器则可以直接使用默认的引脚配置,否则必须配置为pull-up。最后点击GENARATE CODE 生成代码; cube_clock_generate cube_can_pin cube_can_int
  3. 确认是否修改时钟配置,如有修改,则使用CubeMX_Config\Src文件夹中main.c的void SystemClock_Config(void)替换掉\board文件夹下board.c中的SystemClock_Config。

使用 Menuconfig 配置工程选项

  1. 在对应的 oneos\projects\xxxxx(project文件夹) 目录下打开OneOS-Cube工具,在命令行输入 menuconfig 打开可视化配置界面;
  2. 通过[↑]、[↓]按键、空格、enter键或向右方向键选择 Drivers->CAN 下的 Using CAN drivers选项,如下所示:
(Top) → Drivers→ CAN
[*] Using CAN drivers

3.Esc键退出menuconfig,注意保存所修改的设置。

使用 Scons 构建工程

在上一步打开的OneOS-Cube 工具命令行中输入 scons --target=mdk5重新构建keil工程;

工程编译及实现

  1. 打开对应的 oneos\projects\xxxxx(project文件夹) 目录下的 project.uvprojx 工程文件,此时即可在工程中添加相应的应用程序。

  2. 如下图所示,在打开的工程application 文件夹中右键选择Manage Project Items,按图示添加提供的can_test.c例程文件(路径:oneos\drivers\driver_test);

    cube_clock_generate

  3. 编译并下载工程,运行程序;

  4. 打开串口工具如xshell、SecureCRT等,通信成功后,即可使用can_start命令设置CAN的工作模式并开启一个接受任务,使用can_send命令即可通过串口查看到CAN接收任务打印的接收数据;

  5. 通过修改can_test.c中can的工作模式、发送数据值等,查看CAN的接收数据效果。

  6. 如不再使用CAN设备,可再次使用OneOS-Cube工具取消Drivers->CAN 下的Using CAN drivers的选择,保存设置后重新生成工程即可。

results matching ""

    No results matching ""

    返回顶部