|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
使用MATLAB和Simulink开发STM32嵌入式应用/ h* b8 ]( R4 @7 A+ J7 M" g
1 o3 k5 \" c6 g* B3 B: _. ~+ n7 R(一)Simulink和STM32Cube安装* Q( y& i' m4 ~& H. s Y! x8 H
1、安装STM32-MATLAB Target,安装之后再simulink的library里面可以看到stm32的各种外设模块都已具备。
& j) u0 d) t. s3 ^
# k R) l7 T+ v5 g& @, G0 ^# ?1 T3 I( c2、安装STM32Cube和STM32F4 Firmware,并按照Nucleo-STM32F446ZETx来配置IO引脚和外设。本工程使用了GPIO。9 C1 s# ^' ^2 t* {, G
9 P% H; n9 Y. ?4 _
+ w- i7 t% g# Q9 ^- P. x3 U: Q0 C5 t* v# x1 U- @( Z
3、配置生成IAR工程。
6 l# q8 v+ N$ O; A9 v2 D0 I3 c& S Z v) Q5 X
(二)simulink模型搭建与设置1 d9 N5 h. N, G% `& _4 [5 R
1、在simulink里面搭建模型如下,包含一个STM32_config,一个GPIO_Read并将Read值传递给GPIO_Write,同时在Simulink的Source里面选择一个Pulse Generator,同样将值传递给GPIO_Write。. Z8 i* H+ q9 g' s q
2、选定mcu Config,设定为刚才在STM32Cube里面生成的ioc文件。
9 q% x. J' _7 I& i1 T9 o
& ^" N3 O [) s- O; \% N0 t4 @& C( `
, C o4 {6 P, ^4 V6 L/ t3、设置GPIO_Read为PC13,也就是蓝色的User Button的引脚。同时赋值给PB7,也就是蓝色的LED的引脚。5 H3 b( f' m8 W/ \1 }
3 ^* v: P# E0 W
b" X Z4 E; p! l6 b" W8 h' n( G4 m+ w4 Q
4、设置Pulse Generator的幅度,周期和占空比,并将输出赋值给PB14,也就是红色LED的引脚。5 R$ V$ F( j! p' t
0 v$ q% S6 ]' h6 v$ B
5、在simulink的Model Configuration Parameters里面设置如下:
4 \5 b! z: b B) p( v; ^. b: B
0 |5 p9 T. Q( M3 ^# i" q
! V ?9 N, l8 a6、之后点击Build Model,生成c文件等。3 s8 Z. g8 M2 ^
/ \; C) Q: l: \2 U
$ y5 @4 ?! ?8 _9 m
(三)IAR设置、编译和调试
' `; j+ v: A3 {1、在IAR中添加matlab组,并将matlab生成的C代码添加入工程中。可见simulink的模型已经正确转化成C代码。/ w3 u' D3 k/ g& v, X2 ? C
3、点击make、debug之后,即可调试运行。+ Q$ M7 ~2 K4 W+ ^! A0 J1 J+ x
|
|