基于 STMicroelectronics STM32 处理器的板快速入门
此示例说明如何使用 Embedded Coder® Support Package for STMicroelectronics® STM32 Processors 在基于 STMicroelectronics STM32 处理器的硬件板上运行 Simulink® 模型。
简介
该支持包使您能够在运行时使用 Simulink 模块访问外设,并使用 STM32CubeMX 工具在处理器上配置外设。
在此示例中,您将学习如何配置具有单速率和多个不同速率的 Simulink 模型,以生成代码并周期性地切换 STMicroelectronics NUCLEO-F429ZI 板上的蓝色 LED 灯。
前提条件
完成以下教程:
必需的硬件
要运行此示例,您需要以下硬件:
STMicroelectronics NUCLEO-F429ZI 板
微型 USB 数据线
运行硬件板设置
安装完支持包之后,应执行硬件板设置过程,以注册生成代码并将其部署到连接的 STMicroelectronics STM32 硬件板上所需的 STMicroelectronics 软件工具。如果您已安装支持包,则可以使用 Add-On Manager
启动硬件设置。您也可以运行以下命令从 MATLAB® 命令行窗口启动该设置。
stm32cube.tools.launchHardwareSetup
任务 1 - 创建一个 STM32CubeMX 工程来配置外设
要支持在基于 STM32 处理器的板上运行 Simulink 模型,需要使用 STM32CubeMX 图形化工具。STM32CubeMX 工具采用图形界面,可用于配置 STM32 处理器的外设,并为所选的 STM32 处理器生成外设初始化代码。有关 STM32CubeMX 工具的详细信息,请参阅 STM32CubeMX overview。
您可以选择一个现有的 STM32CubeMX 工程或创建一个新工程。您可以从您的 Simulink 模型启动工程。请按照以下说明创建一个模型来支持基于 STM32 处理器的板:
1.打开建模选项卡,并按 CTRL+E 打开“配置参数”对话框。转至硬件实现 > 硬件板。
2.选择基于 STM32 处理器板。
3.转至编译选项,并点击浏览以选择一个现有的 STM32CubeMX 工程文件。
4.点击创建以创建一个新的 STM32CubeMX 工程文件。
提供一个扩展名为 .ioc 的工程名称。
浏览到所需的文件夹位置并保存工程。
选择 STM32 硬件,并依次点击应用和确定。
您也可以通过选择基于 STM32 处理器的自定义硬件来创建新工程。
任务 2 - 在 Simulink 中配置 STMicroelectronics STM32CubeMX 工程,使 LED 以单速率闪烁
在此任务中,需要配置目标模型,使蓝色 LED 灯以您在模型中指定的单一采样率闪烁。
1.打开 stm32_gettingstarted。
2.配置 GPIO 模块。双击该模块以打开模块参数对话框。
蓝色 LED 连接到 GPIOB 端口的引脚 7。
3.创建一个新的 STM32CubeMX 工程或浏览到现有的 STM32CubeMX 工程。在 STM32CubeMX 工具中启动 STM32CubeMX 工程。有关详细信息,请参阅任务 1。
4.在 STM32CubeMX 工程中配置与 GPIO_Output
相同的引脚 (PB7) 以切换用户 LED。
5.在 STM32CubeMX 工程中,确保执行以下配置:
在工程管理器 > 工程下启用不生成 main()。
在工程管理器 > 工程下禁用在根下生成。
在工程管理器 > 高级设置 > 驱动程序选择器下,为外设选择低级 (LL) 驱动程序。
在工程管理器 > 高级设置 > 生成函数调用下,对所有外设初始化函数调用取消选择不生成函数调用。
在工程管理器 > 高级设置 > 生成函数调用下,对所有外设初始化函数调用取消选择可见性(静态)。
保存工程。
从 Simulink 模型生成代码并加载到硬件板上
1.要为模型生成代码,请按 Ctrl+B 或点击编译、部署和启动。
2.按照编译过程进行操作,方法是使用模型画布底部提供的链接打开诊断查看器。在您将代码加载到板上后,硬件板上的蓝色 LED 会闪烁,表示代码正在运行。
任务 3 - 在 Simulink 建模中配置 STMicroelectronics STM32CubeMX 工程,使 LED 以不同速率闪烁
在此任务中,您将配置目标模型,使蓝色 LED 在不同的采样时间下以不同的速率闪烁。您将学习如何在多任务模式下建模。
1.打开 stm32_multitasking_gettingstarted 目标模型。
2.打开建模选项卡并按 CTRL+E 打开“配置参数”对话框。转至求解器,并启用将每个离散速率视为单独任务和自动处理数据传输的速率转换参数。
3.配置模块。双击该模块以打开模块参数对话框。
用户按钮(蓝色按钮)连接到 GPIOC 端口的引脚 13 (PC13)。
蓝色 LED 连接到 GPIOB 端口的引脚 7 (PB7)。
4.创建一个新的 STM32CubeMX 工程或浏览到现有的 STM32CubeMX 工程。在 STM32CubeMX 工具中启动 STM32CubeMX 工程。有关详细信息,请参阅任务 1。
5.与在单速率模型中一样,在 STM32CubeMX 工程中将 PC13 引脚配置为 GPIO_Input
或 GPIO_EXTI
功能。有关详细信息,请参阅任务 2。
6.在 STM32CubeMX 工程中,确保执行以下配置:
在工程管理器 > 工程下启用不生成 main()。
在工程管理器 > 工程下禁用在根下生成。
在工程管理器 > 高级设置 > 驱动程序选择器下,为外设选择低级 (LL) 驱动程序。
在工程管理器 > 高级设置 > 生成函数调用下,对所有外设初始化函数调用取消选择不生成函数调用。
在工程管理器 > 高级设置 > 生成函数调用下,对所有外设初始化函数调用取消选择可见性(静态)。
保存工程。
从 Simulink 模型生成代码并加载到硬件板上
1.要为模型生成代码,请按 Ctrl+B 或点击编译、部署和启动。
2.按照编译过程进行操作,方法是使用模型画布底部提供的链接打开诊断查看器。在您将代码加载到板上后,硬件板上的蓝色 LED 会闪烁,表示代码正在运行。
查看适合您的板的模块库
Embedded Coder Support Package for STMicroelectronics STM32 Processors 使您能够创建使用专用模块支持的外设的算法,这些专用模块可以添加到您的 Simulink 模型中。使用基于 STM32 处理器的驱动程序模块来配置相关联的传感器和作动器,并从外设读取数据或向外设发送数据。
在 MATLAB 命令行窗口中运行 slLibraryBrowser 以打开 Simulink Library Browser
。在打开的 Simulink 库浏览器中,您可以在 Embedded Coder Support Package for STMicroelectronics STM32 Processors 下找到基于 STM32 处理器的板驱动程序库。
其他可尝试的操作
尝试以较慢的速率读取普通按钮状态并分析其行为。
运行具有 Hardware Interrupt 模块的示例。