4. 快速上手:测试和设备的连接

2025-04-28

4.1 测试步骤

  1. 调用函数 OpenWiMinetShell 打开通讯端口,确保操作成功

  2. 调用函数GetModuleVersion 读取固件的版本函数,如果可以正确读取版本号码,就说明通讯端口打开是正确的,和设备的连接是正常的。

  3. 使用本手册中的其他函数,展开测试和集成工作。

4.2 **个程序“Hello World”


#include <stdio.h>
#include <Winsock2.h>
#include "API-WiMinet.h"
int main( int argc, char* argv[] )
{
   char iRetVal;
   VersionInfo version;
   
   // COM port interface
   iRetVal = OpenWiMinetShell( "COM3",115200, 0X01 );
   // Ethernet interface
   //iRetVal = OpenWiMinetShell( "192.168.0.240",12580, 0X01 );
   // Validate the shell open interface
   if ( !iRetVal )
   {
      printf( "Open shell failed!\r\n" );
      return 0X00;
   }
   // Get the module firmware version
   iRetVal = GetModuleVersion(0X00, &version);
   // Validate the operation status
   if ( !iRetVal )
   {
      printf( "GetModuleVersion failed!\r\n" );
   }
   // The version information
   printf( "Size=%d Bytes\r\n", ntohl( version.m_dwInfoSize ) );
   printf( "Major=%d\r\n", version.m_dwMajorVersion );
   printf( "Minor=%d\r\n", version.m_dwMinorVersion );
   printf( "Build=%d\r\n", version.m_dwBuildNumber );
   printf( "Platform=0X%08lX\r\n", version.m_dwPlatformId );
   printf( "Description=%s\r\n\r\n", version.m_pVersion );
   return 0X01;
}



4.3 运行结果与分析


    该程序首先打开串口或者网口,建立和设备的连接。在确保连接成功之后,读取设备的固件版本信息,并打印出版本信息的各个字段,具体详见下面各个字段的定义。

   

    版本信息的结构体定义


// -----------------------------------------------------------------------------

// DESCRIPTION:
// -----------------------------------------------------------------------------
typedef struct _VersionInfo
{
   // --------------------------------------------------------------------------
   // DESCRIPTION:   结构体的长度
   // --------------------------------------------------------------------------
   unsigned long                                               m_dwInfoSize;   
   
   // --------------------------------------------------------------------------
   // DESCRIPTION: 主要版本号码
   // --------------------------------------------------------------------------
   unsigned long                                               m_dwMajorVersion;
   
   // --------------------------------------------------------------------------
   // DESCRIPTION: 次要版本号码
   // --------------------------------------------------------------------------
   unsigned long                                               m_dwMinorVersion;
   
   // --------------------------------------------------------------------------
   // DESCRIPTION: 编译号码
   // --------------------------------------------------------------------------
   unsigned long                                               m_dwBuildNumber;
   
   // --------------------------------------------------------------------------
   // DESCRIPTION: 处理器的平台号码,0X00=8051, 0X01=ARM
   // --------------------------------------------------------------------------
   unsigned long                                               m_dwPlatformId;
   
   // --------------------------------------------------------------------------
   // DESCRIPTION:
   // --------------------------------------------------------------------------
   char                                                        m_pVersion[0X40];     
   
} VersionInfo;



阅读1
分享
写下您的评论吧