5.1点亮一个LED灯:Simulink环境配置与编译下载¶
在此节中,将会给大家介绍如何通过Sukung环境点亮目标机上的一个LED灯,使得可以在Simulink上对目标机的LED灯进行实时控制,以此来了解Sukung的模块参数配置、编译、下载、控制和数据接收存储等过程。
步骤1:实验目标¶
通过Sukung环境,实现在Simulink上对目标机上的LED灯(PB5引脚)进行实时控制。
步骤2:硬件准备与连接¶
步骤3:工程配置¶
建立好硬件连接后,我们按照 2.5 Sukung的工程配置 的相关步骤建立了
LED.slx
工程。
此案例中目标机与PC的连接端口为
COM4
,如下图所示。则按照 步骤2:实时传输层配置 ,进行设置,即MEX-file arguments
为0,4,1200000,10
;
由于程序并不复杂,则按照步骤 步骤3:步长(Sample Time)和Solver配置 ,我们配置步长为
0.005
,Solver为ode1
;
由于此案例无需进行数据查看和存储,因此,对
External Mode Control Pane
不做配置。
警告
单个Simulink工程,存放于单个文件夹内,防止运行时出现不可预料的错误。例,新建LED.slx则将其存放在led文件夹内,若新建motor.slx则不能再放于led文件夹内。
步骤5:程序编译和下载¶
完成上述步骤后,点击
Build
,程序自行编译,用户可以点击出现的View diagnostics
,查看输出信息,如上图所示。在程序下载时,还需要用户依据如下输出信息,在MATLAB命令行窗口输入目标机进入下载模式时,对应串口信号DTR/RTS的电平模式,即如输出信息显示,此次案例使用mode2
则命令行窗口输入2
。并且,还要输入串口对应序号,即COM4
对应的序号0
,完成下载。… ### Created ### Successful completion of build procedure for model: LED ### Creating HTML report file LED_codegen_rpt.html ### Downloading LED: "%MATLAB_ROOT%\bin\win64\gmake" -f LED.mk GENERATE_ASAP2=0 DOWNLOADAPPLICATION=1 OPTS="-DEXT_MODE -DON_TARGET_WAIT_FOR_START=0" download Downloading to Sukung-MiniBox ... There are four available mode. Please make choice according to your hardware. The mode0: no use DTR/RTS. The mode1: DTR高电平复位, RTS低电平进bootloader. The mode2: DTR低电平复位, RTS高电平进bootloader The mode3: RTS高电平复位, DTR低电平进bootloader Please write the DTR/RTS mode required: 2 The available serial port: 0:COM4 Please write the serial number required:
完成下载时,
View diagnostic
会出现如下输出,说明下载完成。### Created ### Successful completion of build procedure for model: LED ### Creating HTML report file LED_codegen_rpt.html ### Downloading LED: "%MATLAB_ROOT%\bin\win64\gmake" -f LED.mk GENERATE_ASAP2=0 DOWNLOADAPPLICATION=1 OPTS="-DEXT_MODE -DON_TARGET_WAIT_FOR_START=0" download Downloading to Sukung-MiniBox ... There are four available mode. Please make choice according to your hardware. The mode0: no use DTR/RTS. The mode1: DTR高电平复位, RTS低电平进bootloader. The mode2: DTR低电平复位, RTS高电平进bootloader The mode3: RTS高电平复位, DTR低电平进bootloader Please write the DTR/RTS mode required: 2 The available serial port: 0:COM4 Please write the serial number required: Serial port COM4 has been selected connecting device... Device connected successfully! The supported commands of STM32: 00 01 02 11 21 31 43 63 73 82 92 The bootloader vesion of STM32: vesion2.2 STM32 device ID: Version 0414 The data starting from the specified address(UID): 0x36FFD4055257383116850643 Flash Size of STM32: 32KB Erasing Flash memory pages... Erase Flash Memory successfully! Menory address 0x08000000 writing 256 bytes Menory address 0x08000100 writing 256 bytes ... ... ... Menory address 0x08012400 writing 256 bytes Menory address 0x08012500 writing 216 bytes write successfully ### Downloaded Build process completed successfully具体的下载过程,可见下图。
注解
若由于输入指令出错或者未实现有效通讯等情况,导致下载失败,即出现 Connecting device
。则在命令行窗口执行两次 Ctrl + C
,退出下载程序。再次执行 Build
操作,也可能出现 ||和&&运算符的操作数必须能够转换为逻辑标量值
,或者出现 Detected recursive call to slbuild,...
, 再次执行 Build
操作即可。
步骤6:工程连接与运行¶
警告
在断开连接后,如想再与目标机连接,在程序结构或者位置未发生改变的情况下,可直接连接运行,否则会弹出程序与 map
不匹配的错误信息,需重新下载程序。
警告
在运行时,可对程序内的常量直接修改,实现在线调参,或者断开连接后,对赋值变量在MATLAB的命令行窗口进行参数调整。涉及到m函数、传递函数等影响生成代码的模块,不可直接修改,若修改,则需重新下载程序。