|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
使用MATLAB和Simulink开发STM32嵌入式应用2 v8 w: `' e! a U# N
: a7 p' w( p* Y$ R" f5 @
(一)Simulink和STM32Cube安装. @- x3 W4 w7 e4 f' N: Q
1、安装STM32-MATLAB Target,安装之后再simulink的library里面可以看到stm32的各种外设模块都已具备。$ n& h2 C! w! N( R% Q# Y, Q3 w
- W0 N# U- g; B
2、安装STM32Cube和STM32F4 Firmware,并按照Nucleo-STM32F446ZETx来配置IO引脚和外设。本工程使用了GPIO。0 g: C8 }& f. ?" f8 t$ v) ^$ s! _
3 \! C# e1 e/ P. B+ p1 z( q( z" R9 i' Y
# L8 O7 A0 g$ j. X4 `3、配置生成IAR工程。
7 R; m( `$ j$ g' q% q/ T/ Z( p) W1 u0 `
(二)simulink模型搭建与设置
/ k. {' Q$ R# R4 y1、在simulink里面搭建模型如下,包含一个STM32_config,一个GPIO_Read并将Read值传递给GPIO_Write,同时在Simulink的Source里面选择一个Pulse Generator,同样将值传递给GPIO_Write。
2 j7 b' d7 i9 e9 D: V2、选定MCU Config,设定为刚才在STM32Cube里面生成的ioc文件。
k4 H- v& O4 p# S/ t
/ I* S. @5 a6 g) i2 R
( B: r/ b+ i' N" S3、设置GPIO_Read为PC13,也就是蓝色的User Button的引脚。同时赋值给PB7,也就是蓝色的LED的引脚。' h* Q+ _9 M0 v" {
e' d( E ~3 h) x8 l8 Z- r0 g6 F* D/ r. J" g. l$ A
( r8 T! H3 W6 [- E
4、设置Pulse Generator的幅度,周期和占空比,并将输出赋值给PB14,也就是红色LED的引脚。& ~- w% I V2 N& W$ h$ u& Z
@% v5 J& i. l- }% l" z5、在simulink的Model Configuration Parameters里面设置如下:
5 C* ]& i9 ]3 A7 d4 a1 N; ?- x9 A6 t2 h
0 w$ q/ R4 P$ J/ U1 h$ H( l7 V2 K
6、之后点击Build Model,生成c文件等。
% A& ^& ?3 ^2 g1 q2 F- B: d! m. z I0 w0 q% x8 X- K
0 b, W5 |" W5 h* \4 J8 S3 e
(三)IAR设置、编译和调试
4 Y" H5 t7 `5 G0 N1、在IAR中添加matlab组,并将matlab生成的C代码添加入工程中。可见simulink的模型已经正确转化成C代码。) l4 Y9 M2 t) x. b1 g
3、点击make、debug之后,即可调试运行。
4 \5 S$ H* Z- \! @ |
|