【转】GD32 F150R8 与 PC端LabView 通信之VISA串口通信

[复制链接]
1344|6
 楼主| haolaishi 发表于 2015-7-18 08:53 | 显示全部楼层 |阅读模式
    大多情况下Labview 与单片机间的通信大多数都是通过串口通信,但是要注意Labview 的串口通信是属于VISA模块,可惜LabView 默认情况下是不安装VISA驱动的,所以要手动安装驱动在官网的 资源与服务->NI Drivers -> NI VISA。


    开始接触NI的时候,很多概念都比较低触,只能边学边用。
先做个控制灯的来练练先。

    串口首先就是要做一个串口通信的调试
1.png
当能够正常接发数据的时间才开始修改成自己想要的内容,例如图上LED灯时就是有布尔开关转换来数组

程序柜架图如下:
2.png


 楼主| haolaishi 发表于 2015-7-18 08:54 | 显示全部楼层
至于GD32F150R8的程序怎么设计呢? 首先来最简单的,关键代码如下:
  1. #include "example.h"

  2. #if (EVB_EXAMPLE == LED_EXAMPLE)

  3. /* Óû§Ó¦ÓóÌÐòÈë¿Úº¯Êý */
  4. int main(void)
  5. {
  6.     //int i;
  7.                 char cGetChar;
  8.     /* ÅäÖÃʹÄÜÆÀ¹À°åÉϵÄLEDÉ豸 */
  9.     EVB_LEDConfig();
  10.     EVB_Uart2Config();

  11.     PRINTF("¸ÐлʹÓÃColibri¿ª·¢°å\r\n");
  12.     PRINTF("www.trochili.com\r\n");
  13.     PRINTF("\r\n");
  14.     PRINTF("##### LED ʵÑé #####\r\n");
  15.     PRINTF("\r\n");

  16.     while(1)
  17.     {               
  18.                 EVB_Uart2ReadByte(&cGetChar);
  19.                 EVB_Uart2WriteByte(cGetChar);
  20.                
  21.                 switch (cGetChar)
  22.                 {
  23.                         case '0':
  24.                                         EVB_LEDControl(LED1, LED_OFF);
  25.                                         EVB_LEDControl(LED2, LED_OFF);
  26.                                         break;
  27.                         case '1':
  28.                                         EVB_LEDControl(LED1, LED_ON);
  29.                                         EVB_LEDControl(LED2, LED_OFF);
  30.                                         break;
  31.                         case '2':
  32.                                         EVB_LEDControl(LED1, LED_OFF);
  33.                                         EVB_LEDControl(LED2, LED_ON);
  34.                                         break;
  35.                         case '3':
  36.                                         EVB_LEDControl(LED1, LED_ON);
  37.                                         EVB_LEDControl(LED2, LED_ON);
  38.                                         break;
  39.                         
  40.                         default:
  41.                                         break;
  42.                 }
  43.                
  44.     }
  45. }
  46. #endif

基础的原理模型已经实现,后来的工作就一步步来完善。
 楼主| haolaishi 发表于 2015-7-18 08:55 | 显示全部楼层
Labview的代码:
Labview Serial NI.rar (22.82 KB, 下载次数: 12)
smilingangel 发表于 2015-7-18 14:54 | 显示全部楼层
这个程序分享的很不错的,,不过弱智看上边贴出来的程序代码的是比较简单的。
若相依 发表于 2015-7-26 09:38 | 显示全部楼层
Labview的界面还是很好看的,有没有网口通讯的例子呢
有妖气 发表于 2015-8-27 11:17 | 显示全部楼层
好资料!
伍平 发表于 2016-2-12 00:07 | 显示全部楼层
学习了,谢谢:victory:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:不忘初心,积极乐观,勤且道义!

243

主题

1996

帖子

12

粉丝
快速回复 在线客服 返回列表 返回顶部