|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
使用MATLAB和Simulink开发STM32嵌入式应用6 i- U- E/ G9 F; d; z' R) z. E' ]& U
A6 B0 @( u" ?
(一)Simulink和STM32Cube安装 V6 x A f0 @8 X
1、安装STM32-MATLAB Target,安装之后再simulink的library里面可以看到stm32的各种外设模块都已具备。
1 E9 m7 k8 \/ s. A) l4 h
; W7 K* V4 T B& }2、安装STM32Cube和STM32F4 Firmware,并按照Nucleo-STM32F446ZETx来配置IO引脚和外设。本工程使用了GPIO。
3 N( O6 j9 ?7 O7 A$ h) ~1 d
: M8 s n% l4 ~+ y. \) o
C( y# B& k9 ^. x8 W6 r* s3 x! C
3、配置生成IAR工程。5 w. r; Q$ m8 z# X& I
( q( w7 C, X1 p) O M( I(二)simulink模型搭建与设置
+ W @, J2 Z* k' f( b1、在simulink里面搭建模型如下,包含一个STM32_config,一个GPIO_Read并将Read值传递给GPIO_Write,同时在Simulink的Source里面选择一个Pulse Generator,同样将值传递给GPIO_Write。0 u1 z4 \& W {& E; a* O* d
2、选定mcu Config,设定为刚才在STM32Cube里面生成的ioc文件。5 [, w8 ^5 @7 N [8 J1 L( q$ \
: V8 V* m9 z- b$ p5 {8 J7 M& C4 A
; t+ ~: x, \' P( \ n
3、设置GPIO_Read为PC13,也就是蓝色的User Button的引脚。同时赋值给PB7,也就是蓝色的LED的引脚。
. L# f/ V' [. M0 k' X6 O U1 ^ d: H; v) e
# }, z/ r6 P# U' e
% y8 t0 g8 T7 v) l3 `8 T4、设置Pulse Generator的幅度,周期和占空比,并将输出赋值给PB14,也就是红色LED的引脚。5 ]2 l$ Q' ?; P9 c
* y3 [: s7 I- G. `5、在simulink的Model Configuration Parameters里面设置如下:
5 q$ T \9 F0 i' ]
- N% C' K6 n m7 `: P; Z( c
/ w; R# b( `6 D4 g w6、之后点击Build Model,生成c文件等。0 B, b9 j' e! h8 `
; g' @2 c% z M' e# X" U! W: H: H8 C
(三)IAR设置、编译和调试
9 i$ o. q _/ a8 r% _1、在IAR中添加matlab组,并将matlab生成的C代码添加入工程中。可见simulink的模型已经正确转化成C代码。, \2 v2 W" q. ^6 h8 r; s8 V" W
3、点击make、debug之后,即可调试运行。
) M1 ^, f/ s9 S4 K# O) p |
|