不知道大家平时做嵌入式开发时用调试工具进行调试,今天给大家分享一款专业且全面的嵌入式调试工具集:Micro-Lab

什么是Micro-Lab?

Micro-Lab可以称得上是迄今为止最棒的嵌入式调试工具,在调试过程中遇到的所有痛点,在这里都得以解决,并引入了很多新的功能,如全新的串口/网络调试服务及关联模块、发送历史永久保存及支持别名、串口/网络动态指令编程、串口/网络虚拟示波器、超级计算器、ModBus RTU计算器、DTU、串口-网络分裂器、应用影子分身、众多开发辅助工具及资料,独创的革命性事件驱动型上位机编程神器——VanGogh组态画布等数十个功能。

cf9519062f44419d82cd91beed262182.png

用户无需掌握任何一门PC编程语言,只需要鼠标拖拽组件即可轻松上手,从需求到原型仅仅需要几分钟!无论是在使用手感上还是功能实用方面都是绝对一流,可以说Micro-Lab重新定义了嵌入式调试工具,同时也成为行业工具的标杆。

来看看具体长什么样吧:

33d71b96b2db06912b539f0d869ec2d7.png

f74ed7b04a4ded5318980986154e1ac4.png

182f04d80f3f02fbb1733191d5a048c6.png

9c61671854a96e066dc25ddcc2efb89a.png

6e2fd566ac4d84e19742a17c5d91750b.png

b690d0396a144cd7d0b92ec29b7ff564.png

ef8d6b20c4f06524841b406f2b768de1.png

f415d027dfccc384d08c71d2a62c0ccc.png

Micro-Lab图形界面设计与使用

776a609b8e5c405025780eba7c594ea7.png


切换到组态画布页面,然后手动将左边相关控件拖放到中间控件放置区域,选中其中一个控件时,可以通过右边更改控件的属性,和玩串口屏是类似的操作,即使完全没有用过,不看说明文档也能快速上手。当控件布局完毕以后,在控件放置区域点击鼠标右键选择Run,这时候就会弹出刚刚画好的界面,如下:

00aa5e11522ed05919ad8e5fcb7cb328.png


这样的话当我们在调试板子的时候就可以非常方便而且更加可视化的操作界面,发送相应的指令了,是不是非常的方便,是不是有点GUI的意思了。

将SDK移植到STM32上

这里我用的是STM32F103C8T6的核心板
1.将SDK包拷贝到我们的工程中。

1c26a047aa455dbca28584fb6f99ddcd.png


2.在MDK中添加SDK的源文件,并将sdk的头文件加入MDK中。

4a34d5a1d5ff9b17efd75ffc93b0b73a.png

aa27831e0fe10984fca04004361dacf5.png

5e38851f8728bfe5fc9c95b7ce656ce4.png


3.修改工程

1d73cffedfeafb391ac36a0db30c69d8.png


4.使用Micro-Lab

d5dd134d30dcbb0e4ab5d0abb3bb671d.png


5.我们这里通过Micro-Lab的动态画布来控制最小系统板上的一个LED灯。

int main(void)
{
 delay_init();
 uart_init();
 LED_Init();
 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);    
 initCanvas(events);        
 while (1)
 {
    for(char i=0;i<CANVASEVENTLIST_SIZE;++i)
    {
        if(events[i].componenttype!=NONE_COMPONENT)
        {
            switch(events[i].componenttype)
            {
                case SWITCHBUTTON:
                {
                    if(events[i].componentnumer==0)
                    {
                        if(events[i].componentmsgtype==SWITCH_ON)
                        {
                            LED=0;
                            printf("SWITCHBUTTON  ON, ");
                            printf("MSG : ");
                            for(unsigned short j=0;j<events[i].msglen;++j)
                            {
                                printf("%2X ", events[i].msg[j]);                               
                            }
                            printf("\r\n");
                        }else if(events[i].componentmsgtype==SWITCH_OFF)
                        {
                            LED=1;
                            printf("SWITCHBUTTON  OFF, ");
                            printf("MSG : ");
                            for(unsigned short j=0;j<events[i].msglen;++j)
                            {
                                printf("%2X ", events[i].msg[j]);                               
                            }
                            printf("\r\n");
                        }else
                        {                               
                        }
                    }                       
                }   break;                  
                default:                    break;                      
            }       
            events[i].componenttype = NONE_COMPONENT;
            events[i].componentnumer = 0;
            events[i].componentmsgtype = NONE_MSG;
            events[i].msglen = 0;   
        }else
        {
        }
    }   
 }    
}

6.打开MicroLab,新建一个画布。

c9b4b203c1da7be4e5e354c7dac8a786.png


7.把程序下载到板子之后,点击动态画布上右键->Run,点击按钮,板子上的LED灯就会一起亮灭。

c3ee372a405d44ada1c4e65c08ce3b81.gif

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐