|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
使用MATLAB和Simulink开发STM32嵌入式应用
! G, I) D: u" X4 ^
( q2 O) G" q/ C [(一)Simulink和STM32Cube安装! A3 }0 G/ A/ }9 ^$ v" M
1、安装STM32-MATLAB Target,安装之后再simulink的library里面可以看到stm32的各种外设模块都已具备。
$ P" E3 {4 }* J' p( A u4 f' z1 k7 ]7 T" i
2、安装STM32Cube和STM32F4 Firmware,并按照Nucleo-STM32F446ZETx来配置IO引脚和外设。本工程使用了GPIO。
& D# ]* X6 B7 ^" s4 y
* s, b# e4 d7 o* H$ E/ v" |
; [4 e) N; J4 f/ v# U4 P# n* T' Q, X z5 {" V T
3、配置生成IAR工程。3 B0 a" Z. c/ T) H5 U/ G% e
0 \& h4 F- J2 ^2 L! G
(二)simulink模型搭建与设置
( k5 R. t) I5 I1 {) r1、在simulink里面搭建模型如下,包含一个STM32_config,一个GPIO_Read并将Read值传递给GPIO_Write,同时在Simulink的Source里面选择一个Pulse Generator,同样将值传递给GPIO_Write。
3 Q% V2 s |+ }5 e* T. Y2、选定mcu Config,设定为刚才在STM32Cube里面生成的ioc文件。
6 n) C6 ^- P+ j
$ G: _6 l. U) v! a& V1 P5 v
" Q$ K3 g' H$ z9 x+ j3、设置GPIO_Read为PC13,也就是蓝色的User Button的引脚。同时赋值给PB7,也就是蓝色的LED的引脚。5 x2 j' @4 {3 ]' S! v5 E2 z/ u
$ c* V6 q2 \: L `/ C* b$ D
' z% T5 t& }& X, U' x' U% A3 U
4、设置Pulse Generator的幅度,周期和占空比,并将输出赋值给PB14,也就是红色LED的引脚。5 T/ s T; ^; J. B
1 x% @, g+ h4 D
5、在simulink的Model Configuration Parameters里面设置如下:
- ]( D, D( g. T8 u' v/ T4 M3 x/ @5 U& O( N# |
8 T$ r: M+ Y+ e1 M
6、之后点击Build Model,生成c文件等。
9 Y4 }' t, D- H: M) {+ c L& c& ~7 `( b/ u3 E I
# u7 ^3 N9 C, S- K(三)IAR设置、编译和调试
1 z" v2 Z5 p- V# C: T1、在IAR中添加matlab组,并将matlab生成的C代码添加入工程中。可见simulink的模型已经正确转化成C代码。
0 l8 L2 Y y7 T, Z8 N- W3 K3、点击make、debug之后,即可调试运行。! j K" h) C% _+ H6 }1 B+ @# \
|
|