Skip to main content

STM32代码

STM32代码

获取代码

获取链接,单击链接下载样例代码压缩包“ascend-devkit-master.zip”到PC并解压,获得STM32开发板代码目录“ascend-devkit-master\src\E2E-Sample\dogee\dogee_control\stm32_code”将stm32_code中的代码复制到原始产品提供的代码中,选择替换对应文件。

烧录代码到ESP32开发板

  1. 在PC使用Keil uVision5选择工具栏“File > Open”,打开替换文件后“\QuadrupedF405\QuadrupedF405\USER”目录下的“QuadrupedF405.uvprojx”项目文件,即可进入到对应的界面,如图2所示。

    图1 打开文件

    图1 界面图

    :::note 说明

    • 出现缺少头文件提示时,选择工具栏“Project > Options for Target ...”,请选择C/C++,为Project添加头文件的include path路径(路径不能出现中文字符)

    • 出现未识别include提示需要修改LanguageC从C90改为C99。

      :::

  2. 当前Keil uVision5软件已不提供Version5的编译器,需用户自行查找并安装。

    图3 编译器丢失

  3. 由于STM扩展板的限制,SWD扩展板上的外部接口未接芯片,需要将机械狗身体中的STM32F405主控板拆下,主控板位置如图4所示。

    图4 405主控板

    1. 由于STLINK的USB端串口位置固定,与STM32无法一一对应,所以需要使用杜邦线连接STLINK的USB端的串口,使其能够与开发板的串口对应,STM32串口位置如图5所示,STLINK的USB端串口位置如图6所示。

      图5 STM32串口引脚

      图6 STLINK的USB端串口位置

    2. STLINK线的SWCLK串口与STM32开发板的A14连接,STLINK线的SWDIO串口与STM32开发板的A13连接,电源3.3V对应3.3V,GND串口对应GND。

  4. 在keil客户端准备完成后,单击

    编译按钮,等待代码编译无报错后,单击

    烧录按钮即可将控制代码烧录到STM32的主控中。

    图7 界面图

父主题: 获取代码

机械狗代码

  1. 远程登录开发者套件,进入“/usr/local”目录运行脚本拉取代码。

    cd /usr/local
  2. 运行脚本拉取代码。

    bash E2E_samples_download_tool.sh -d download_destination_path -s source_repository -b branch target_path

    参数说明:

    • -d:指定代码的下载路径。
    • -s:指定开源仓库的clone url。
    • -b:指定开源仓库分支名称及待下载的项目目录。
    • -f:强制更新下载路径中的目录。当样例目录已删除,但重新下载时提示“Already up to date”时可使用此参数。

    命令示例:

    bash E2E_samples_download_tool.sh -d /home/HwHiAiUser/E2ESamples -s https://gitee.com/HUAWEI-ASCEND/ascend-devkit.git -b master src/E2E-Sample/dogee/

    回显如下:

    Download E2E samples successfully!

    执行完成后,会在“/home/HwHiAiUser/E2Esamples”目录下生成“src/E2E-Sample/dogee/”目录。

父主题: 获取代码

手动控制机械狗姿态变换

  1. 在机械狗上电启动之前,需要手动将机械狗的四个腿置于初始位置,便于机械狗的八个电机获取开机处的零点位置。

    1. 以单条腿为例,扶起整个腿部,使底部黑色支持脚立于地面,呈现“Y”字型。

    2. 沿金属腿外侧捏紧腿部,如图1所示。

      图1 腿部实物图

    3. 以摄像头方向为头部,将每条腿部的后侧金属腿与机械狗外壳突出部分的角对齐,如图2所示。

      图2 对齐金属腿

    4. 按下银色圆形的金属电源键,等待蓝色灯圈出现,中间的STM32开发板显示屏幕亮起,等待15s左右听到蜂鸣器出现一次蜂鸣后,机械狗就会自动站起。

  2. 执行以下命令,进入到开发板上机械狗的代码目录下。

    cd /home/HwHiAiUser/E2ESample/ascend-devkit-master/src/E2E-Sample/dogee/demo
  3. 执行以下命令,一键安装所需要的依赖。

    pip3 install -r requirements.txt
  4. 执行以下命令,启动脚本。

    python3 main.py

    键盘对应的控制表如表1所示。

    表1 键盘对应的控制表

    按键机械狗动作
    上方向键前倾
    下方向键后仰
    左方向键左倾
    右方向键右倾
    Space回正姿态位置

父主题: 快速体验

手动控制机械狗运动

:::note 说明 在手动控制机械狗姿态变化之后,需要重新启动机械狗的电源,再进行运动相关的操作。 :::

  1. 执行以下命令,进入到开发板上机械狗的代码目录下。

    cd /home/HwHiAiUser/E2ESample/ascend-devkit-master/src/E2E-Sample/dogee/demo
  2. 执行以下命令启动脚本,即可手动控制机械狗进行移动。

    python3 main.py

    相对应的键盘控制表如表1所示。

    表1 键盘对应的控制表

    按键机械狗动作
    W前进
    S后退
    A左转
    D右转
    Space停止

父主题: 快速体验

机械狗自动行走

将机械狗放置于地图上的车道引导线中,请参见地图绘制制作地图。

  1. 执行以下命令,进入到开发板上机械狗的代码目录下。

    cd /home/HwHiAiUser/E2ESample/ascend-devkit-master/src/E2E-Sample/dogee/demo
  2. 执行以下命令启动脚本,等待机械狗初始化完成。

    python3 main.py --mode=easy

    初始化完成回显如下所示:

    图1 命令回显

    完成后,机械狗就会自动在引导线内行走。

父主题: 快速体验

在线提单