2981|5

1532

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【NUCLEO-L452RE测评】+串行通信及组件控制 (兼结题报告) [复制链接]

本帖最后由 jinglixixi 于 2021-1-13 23:10 编辑

        前段时间参加了一个MicroLab的测评活动,经过一定的努力终于获得了永久使用的授权,将它与STM32L452开发板进行组合,可以轻松地构成一个分布式应用系统,相较于使用LABVIEW还是用起来很方便的,且占用的空间十分的少。其唯一不足的是,它不能生成一个可以单独运行的exe执行文件,否则就很完美了。

以制作一个有进度球、数码管和温度计的界面为例,它只需将3个显示组件拖放到组件画布中即可,然后再调整组件大小及摆放位置即可,其效果见图1所示。

图1 组件的界面设计

       在运行时,它可以借助MicroLab自带的串口监听功能来接收有下位机,也就是STM32L452开发板发送来的协议数据包,进而来驱动组件的状态更新,其效果如图2和图3所示。

图2 运行效果

图3 串口监听接收数据

       对于STM32L452开发板来说,要配合功能的实现,所涉及的内容主要有2个,一个自然就是串行通讯功能,要能把控制数据发送出去;另一个就是要对生成协议数据包的函数加以移植。

对于第一点,这里是用UART4,所占用的引脚为CN7的PC.10,以此来发送数据。由于所发送的数据是字节数据,因此需要定义一个合适的数组来暂存数据。

      相应的串口初始化定义为:

  UartHandle.Instance        = USARTx;
  UartHandle.Init.BaudRate     = 9600;
  UartHandle.Init.WordLength   = UART_WORDLENGTH_8B;
  UartHandle.Init.StopBits     = UART_STOPBITS_1;
  UartHandle.Init.Parity       = UART_PARITY_NONE;
  UartHandle.Init.HwFlowCtl    = UART_HWCONTROL_NONE;
  UartHandle.Init.Mode         = UART_MODE_TX_RX;
  UartHandle.Init.OverSampling = UART_OVERSAMPLING_16;

调用相关协议函数发送驱动数据的程序段为:

while (1)
{
         //进度球
         updateCanvas(WATERLEVER, 0, (char *)&x, sizeof(float));
         HAL_Delay(500);     
         //数码管
         updateCanvas(LCDNUMBER, 0, (char *)&x, sizeof(float));
         HAL_Delay(500);     
         //温度计
         updateCanvas(TEMPMETER, 0, (char *)&x, sizeof(float));
         HAL_Delay(500);
         x += 3;
         x++;
         y += 3;
         if(x>=100)
         {
              x = 0;

         }
         if(y>=100)
         {
              y = 0;
         }
}

        以updateCanvas()函数为例,其使用串口发送数据的内容如下:

void updateCanvas(COMPONENT_TYPE componenttype, unsigned short componentnumber, char * data, unsigned short datalen)
{
    static char tbuffer[TBUFFERSIZE];
    static short size;
    packProtocol(ORGANIZATION, SECTION, DATAPOINT, componenttype, componentnumber, NONE_MSG, data, datalen, tbuffer, &size);
    HAL_UART_Transmit(&UartHandle, (uint8_t*)tbuffer, size, 5000);
}

       STM32L452开发板的通讯连接如图4所示,是将开发板与USB转TTL模块相连接来构成。在与上位机的MicroLab连接前,其通过串口助手的测试结果如图5所示。

图4 通讯连接

图5 串行通讯测试

 

       总体来讲,STM32L452开发板是一款低功耗的易用开发和使用的开发板,由于长期以来所构建的产品线及养成的开发习惯,在使用ST的产品时已有了一种轻车熟路的感觉,相对来说在一个开发过程中,这能带来开发的功效,自然使用STM32L452也会产生这种效率。

此帖出自stm32/stm8论坛

最新回复

谢谢分享!   详情 回复 发表于 2021-1-13 22:56

赞赏

1

查看全部赞赏

点赞(1) 关注
 

回复
举报

1942

帖子

2

TA的资源

版主

沙发
 

给大佬点个赞,还是大佬的帖子看着舒服,排版啥的都好!

此帖出自stm32/stm8论坛
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

板凳
 
w494143467 发表于 2021-1-13 13:29 给大佬点个赞,还是大佬的帖子看着舒服,排版啥的都好!

此帖出自stm32/stm8论坛
 
 

回复

1461

帖子

1

TA的资源

纯净的硅(中级)

4
 

这种组态软件不能生成exe,那就没法用在实际项目里面

此帖出自stm32/stm8论坛

点评

期待它的升级版能解决这个问题,否则是个硬伤!  详情 回复 发表于 2021-1-13 17:24
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

5
 
shihuntaotie 发表于 2021-1-13 16:49 这种组态软件不能生成exe,那就没法用在实际项目里面

期待它的升级版能解决这个问题,否则是个硬伤!

此帖出自stm32/stm8论坛
 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

6
 

谢谢分享!

此帖出自stm32/stm8论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表