你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

嵌入式开发调试工具

[复制链接]
gaosmile 发布时间:2020-7-4 17:21
      在工作中,以什么样的方式向领导汇报工作最直接高效呢?当然是图形界面!图形界面更好表达一个程序设计的逻辑思维,一目了然,本次介绍的Micro-Lab出自风媒电子-赵工之手。
" r$ H6 s1 ^2 o( O4 K; n1 L" k; T8 T" `* _* H0 A0 \

6 n1 \5 y7 i% C  P- j5 A9 M1.什么是Micro-Lab?( k& K5 V' i  H
& o) A8 M* V: H# E& }
& o$ e: o8 q, @6 n( f3 T; ^# l
       Micro-Lab可以称得上是迄今为止最棒的嵌入式调试工具,在调试过程中遇到的所有痛点,在这里都得以解决,并引入了很多新的功能,如全新的串口/网络调试服务及关联模块、发送历史永久保存及支持别名、串口/网络动态指令编程、串口/网络虚拟示波器、超级计算器、ModBus RTU计算器、DTU、串口-网络分裂器、应用影子分身、众多开发辅助工具及资料,独创的革命性事件驱动型上位机编程神器——VanGogh组态画布等数十个功能。用户无需掌握任何一门PC编程语言,只需要鼠标拖拽组件即可轻松上手,从需求到原型仅仅需要几分钟!无论是在使用手感上还是功能实用方面都是绝对一流,可以说Micro-Lab重新定义了嵌入式调试工具,同时也成为行业工具的标杆。. t- N0 I/ _7 c0 h6 j/ I  l
    来看看具体长什么样吧:
4 r6 K. O4 s2 [0 r3 B/ P
微信图片_20200704171633.png
0 J! t5 V+ ?( \$ \5 F( B 微信图片_20200704171636.png
* p. q+ Y6 ?! X/ d3 p7 w
) I+ Z, M5 l9 ^+ t! L1 `# ] 微信图片_20200704171639.png 微信图片_20200704171642.png
8 b' N  j. b- s3 n2 m 微信图片_20200704171646.png 0 ~" R5 t& u$ k9 Z; X' e
微信图片_20200704171649.png
* T# ?2 ]" W0 l$ g+ M: | 微信图片_20200704171652.png
9 W+ T4 a) Q  p4 ]' I% C 微信图片_20200704171656.png
4 M8 o* |3 W- ]" q, }; h  D
: E+ p# |# b- o3 B

- F, J/ d0 P, a; T2.Micro-Lab图形界面设计与使用# @* q- a# X# ~& o+ h
微信图片_20200704171700.png
7 `0 d3 W# B) o! A
0 A) z- f% v* D2 q
       切换到组态画布页面,然后手动将左边相关控件拖放到中间控件放置区域,选中其中一个控件时,可以通过右边更改控件的属性,和玩串口屏是类似的操作,即使完全没有用过,不看说明文档也能快速上手。当控件布局完毕以后,在控件放置区域点击鼠标右键选择Run,这时候就会弹出刚刚画好的界面,如下:
0 ~* _1 E! V% {2 e. k 微信图片_20200704171703.png
& _  L; H0 A9 l4 L: S7 \
      这样的话当我们在调试板子的时候就可以非常方便而且更加可视化的操作界面,发送相应的指令了,是不是非常的方便,是不是有点GUI的意思了。2 Y+ k. u: m9 z( z3 g  E% k* K
" Z2 O7 u/ q7 N+ k
' Z5 n) b# e1 Y( F/ A9 t! B
3.将SDK移植到STM32上
0 X, h8 x, u- l$ }
这里我用的是STM32F103C8T6的核心板0 F) h+ T; u3 C0 S2 |% g
1.将SDK包拷贝到我们的工程中。
- b5 r1 ?* D9 T' S6 s  G" H' h! ^
微信图片_20200704171706.png 6 |# }9 O& l7 w1 e" B
2.在MDK中添加SDK的源文件,并将sdk的头文件加入MDK中。
" |# s! L0 N' C, E
微信图片_20200704171711.png
/ S* U3 h6 u/ r 微信图片_20200704171714.png
4 g4 T. n" J5 R5 p# w 微信图片_20200704171718.png
$ f# t/ d' U# H: v0 {# Q: K$ p- z8 i3.修改工程
5 p& z! p# v! R, @9 H, B
微信图片_20200704171722.png / F3 M% v5 [) _, h
4.使用Micro-Lab

- U$ o: v" j" K 微信图片_20200704171725.png
* i# v" N3 L  x) N% s4 o5.我们这里通过Micro-Lab的动态画布来控制最小系统板上的一个LED灯。
int main(void)' `) B+ ~+ p5 ~3 q7 k( ^, b: t* d
{4 H# e  C# U4 j) c. ], [
delay_init();
. Y! C: I! G7 F7 a uart_init();
- j0 w. }7 x4 {8 ^# Z: P- e LED_Init();( B0 p+ W8 g$ E. b+ M
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);   
! k; A' x7 h7 j( I! a/ g initCanvas(events);        8 @) G( w  S) X" G
while (1)
# g2 R9 k  [- F {/ I# _0 C1 Z2 ~) v! v
    for(char i=0;i<CANVASEVENTLIST_SIZE;++i)/ }6 Q- {0 z& L/ H0 a1 E
    {
0 z5 |$ o) [6 j) k" g        if(events.componenttype!=NONE_COMPONENT)" r; Y6 g, D" u
        {; D; Q4 t1 d1 @5 w' E0 p# q
            switch(events.componenttype)
+ ?# Y, P. z* r& J4 T1 S. N            {
! G0 T. f$ T6 P/ \9 N                case SWITCHBUTTON:
. l+ L# M# b9 b+ A- X, S                {
4 f3 ^. C( ^$ S$ A; l9 F                    if(events.componentnumer==0)
% h5 q. q+ o2 }6 ]9 V                    {
1 s; H* T6 n) t% C" T* p                        if(events.componentmsgtype==SWITCH_ON)/ n, l, p7 p' C+ h* O- a# \9 S6 p9 W
                        {; Y$ I6 `: e7 Y8 w& V3 f2 M, q8 G  U
                            LED=0;5 r. M1 Z  m+ o, X/ t! S2 t
                            printf("SWITCHBUTTON  ON, ");
! T3 a8 H8 z0 s; _2 L/ V, }6 y                            printf("MSG : ");  r2 G. H, B6 V7 m- ?& H
                            for(unsigned short j=0;j<events.msglen;++j)
2 d* M' v' S" ?! u2 l! ?$ q                            {
8 b% Z' o: t0 W! U# j4 |) z' Z4 t                                printf("%2X ", events.msg[j]);                                 u5 Y9 u) v3 V' k; y* U. x
                            }  {- c% @' Z: Y; ~# i
                            printf("\r\n");! Z* V$ {0 u4 Z& ~( u' T8 T7 y
                        }else if(events.componentmsgtype==SWITCH_OFF)! u5 S' J  p5 q
                        {8 x6 ]! K: I8 r& F
                            LED=1;& ]. G" E, E% c" y0 |$ j3 U
                            printf("SWITCHBUTTON  OFF, ");
. G& |$ x8 b# D4 o, @) [                            printf("MSG : ");( }1 r( c, x7 y% `
                            for(unsigned short j=0;j<events.msglen;++j)
% L( o# W' m; ~" W9 ]! y3 c                            {
5 f: L/ @# t+ a6 q% z4 M6 U: J                                printf("%2X ", events.msg[j]);                              
2 j4 K$ L4 V: B* h2 u$ V2 p) I5 K/ s                            }
- [* @" z  _( }. {                            printf("\r\n");
( Z, e9 E$ g' V! ^( z+ f                        }else6 c; m7 E% J3 _4 O) V* |8 R
                        {                               7 H. z1 H, w8 z) b1 b0 V' |) y
                        }% n& d  |2 \# r+ I4 I& L) v
                    }                       
# X/ g2 P3 m3 {4 V6 }, X; i5 N                }   break;                  / g$ k$ F% Q0 r7 R0 Q9 N" [+ j
                default:                    break;                     
( ~- T, d3 v3 r& ^; O2 T# H3 H4 V2 i            }      
4 X5 M# R+ ~. C  R9 T            events.componenttype = NONE_COMPONENT;
, {: m0 X8 \, r7 {            events.componentnumer = 0;& d9 t3 U8 h$ J! c4 U, D
            events.componentmsgtype = NONE_MSG;9 E# O  }2 S+ f, p5 P) `
            events.msglen = 0;   6 P% a, C( P& p3 N/ Z% x" C
        }else
) E) J! [( q% h4 A) D, Y        {' O) c  x# V$ }, x: u
        }9 ~$ q8 P( n3 p% T1 x
    }   
: g" F1 |/ W1 R+ \" ^ }   
9 X# l3 s' W" v& v6 m$ O' {5 P}

" d% i8 \4 H6 I
     这里大家发现我用的是正点原子的例程,考虑看我公众号的大多数是学生,大家可能对正点原子和野火的程序更熟悉一些,这样大家移植或者看起来就会顺眼很多。哈哈哈,小编是是不是很贴心。
6.打开MicroLab,新建一个画布。
微信图片_20200704171728.png
9 Y* d# f# [9 `( c4 @7 N! G7.把程序下载到板子之后,点击动态画布上右键->Run,点击按钮,板子上的LED灯就会一起亮灭。
: Q) T! d5 j7 [+ u( c0 e; ~1 f
微信图片_20200704171732.gif
Micro-Lab还在不断的成长中,相信未来会有越来越多好玩的功能,敬请期待!
赞 收藏 2 评论1 发布时间:2020-7-4 17:21

举报

1个回答
小小超 回答时间:2020-7-6 09:37:08
感谢 分享~~
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版