|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
使用MATLAB和Simulink开发STM32嵌入式应用9 r# I N) V9 U& L# Y5 _( a
( \" s6 d# S& A9 `+ |1 b4 F! ?
(一)Simulink和STM32Cube安装: M' N0 y" Z5 E
1、安装STM32-MATLAB Target,安装之后再simulink的library里面可以看到stm32的各种外设模块都已具备。
- g3 N* W% p5 E3 M% n
8 w1 K8 [8 {! r: c3 P2、安装STM32Cube和STM32F4 Firmware,并按照Nucleo-STM32F446ZETx来配置IO引脚和外设。本工程使用了GPIO。
! J' ], T& o( J: w
: @4 c" ?; r1 h7 X$ }( x9 V+ E0 z; b, S: o2 v
1 F3 p& u! ?! q' D% X; l5 _: K5 U. o
3、配置生成IAR工程。0 s) R6 c" l( E& ?5 I7 z
) R( I# H5 q9 E6 m) `
(二)simulink模型搭建与设置/ f Z& C7 f! {2 J/ {
1、在simulink里面搭建模型如下,包含一个STM32_config,一个GPIO_Read并将Read值传递给GPIO_Write,同时在Simulink的Source里面选择一个Pulse Generator,同样将值传递给GPIO_Write。0 T" s6 O0 }5 I1 r& V6 ?! D: v
2、选定mcu Config,设定为刚才在STM32Cube里面生成的ioc文件。; _! s% w6 E$ c: C- S3 E: O" q
9 N, G' l; r5 y4 [$ v' }
: k2 T/ R1 b; W9 [: E3、设置GPIO_Read为PC13,也就是蓝色的User Button的引脚。同时赋值给PB7,也就是蓝色的LED的引脚。. G8 l6 h, C3 v! G( J7 |4 Q' u" l
7 n+ \! @, ^2 j$ S3 y
* D8 y2 N% v- m# N, V$ l- f( ?: `8 k2 R5 N
4、设置Pulse Generator的幅度,周期和占空比,并将输出赋值给PB14,也就是红色LED的引脚。' Z' |! o/ P# q9 Y$ _; e: G5 R
4 S/ r+ z/ F$ r4 W, }7 @5、在simulink的Model Configuration Parameters里面设置如下:. l8 ]7 Z: A) A& t0 [
0 i- r! I: \$ u6 z
* Y/ R% h; V6 M# G* r7 _$ k6、之后点击Build Model,生成c文件等。
6 ?* i) E3 g' T0 ^, d+ X+ F' P" f) L# ` P1 y
+ V0 `* o! s' A( [+ b(三)IAR设置、编译和调试& R3 [5 [- i# J% `5 R1 ?
1、在IAR中添加matlab组,并将matlab生成的C代码添加入工程中。可见simulink的模型已经正确转化成C代码。
- x# \+ a4 V6 [* M- R& G2 L% D3、点击make、debug之后,即可调试运行。" E# h7 _ s0 ]- l {4 V# R
|
|