mobile CCTV,mobile surveillance,police body worn cameras

 forgetPW
 registerNow
search
view: 2265|reply: 7
打印 prevThread nextThread

在WinFormDemo.sln中iLongitude变量没有赋值过程

[copyURL]

1

主题

3

帖子

11

积分

newBie

Rank: 1

积分
11
jumpTo
owner
poston 2019-11-28 13:32 | authorOnly 回帖奖励 |倒序浏览 |阅读模式
在WinFormDemo.sln中iLongitude变量没有赋值过程
reply

使用道具 report

3

主题

356

帖子

1883

积分

vipMem

Rank: 6Rank: 6

积分
1883
sofa
poston 2019-11-28 14:16 | authorOnly
您具体的问题是啥?
reply agree Against

使用道具 report

1

主题

3

帖子

11

积分

newBie

Rank: 1

积分
11
bench
 Owner| poston 2019-11-28 20:55 | authorOnly
想得到gps位置信号,在WinFormDemo.sln中iLongitude变量只有定义,没有给这个变量赋值。
所以这个demo没有给出gps位置信息。
reply agree Against

使用道具 report

3

主题

356

帖子

1883

积分

vipMem

Rank: 6Rank: 6

积分
1883
ground
poston 2019-11-29 08:52 | authorOnly
好像MFCdemo里面有获取GPS信息,您对比看看。
reply agree Against

使用道具 report

1

主题

383

帖子

1466

积分

vipMem

Rank: 6Rank: 6

积分
1466
5#
poston 2019-11-29 09:47 | authorOnly
zhangxiaohui post on2019-11-28 20:55
想得到gps位置信号,在WinFormDemo.sln中iLongitude变量只有定义,没有给这个变量赋值。
所以这个demo没有 ...

iLongitude这个变量在结构体BVCU_PUCFG_GPSData中定义,这个结构体在BVCU_PUCFG_GPSData gpsdata = (BVCU_PUCFG_GPSData)Marshal.PtrToStructure(pGpsData, typeof(BVCU_PUCFG_GPSData))   被整体赋值
reply agree Against

使用道具 report

1

主题

3

帖子

11

积分

newBie

Rank: 1

积分
11
6#
 Owner| poston 2019-11-29 19:51 | authorOnly
请直接告诉一下如何给iLongitude变量赋值,因为只是想得到gps位置信号
reply agree Against

使用道具 report

13

主题

373

帖子

2037

积分

vipMem

Rank: 6Rank: 6

积分
2037
7#
poston 2019-11-29 21:36 | authorOnly
好,我们白工再测试下反馈。
reply agree Against

使用道具 report

1

主题

383

帖子

1466

积分

vipMem

Rank: 6Rank: 6

积分
1466
8#
poston 2019-12-3 19:37 | authorOnly
zhangxiaohui post on2019-11-29 19:51
请直接告诉一下如何给iLongitude变量赋值,因为只是想得到gps位置信号

你好,下面我来描述下从打开设备GPS通道,一直到获取GPS数据,调用SDK的过程。打开设备GPS通道的C#接口在  BVCULibraryLayer.cs 文件中,其接口声明如下
[DllImport("ManagedLayer.dll", CallingConvention = CallingConvention.Cdecl)]
        public static extern int ManagedLayer_CuOpenGpsDialog(IntPtr handle, ref IntPtr dialog, IntPtr session,
            Byte[] puId, int channelNo,
            EventHandler.BVCU_GpsDialog_OnEvent onDlgEvent,
            EventHandler.BVCU_GpsDialog_OnData onDlgData);

这个接口是个异步的接口,
handle是bvsdk的句柄
dialog是打开的GPS通道的句柄(用于上层操作该通道)
session是登录实例的句柄
puId 是设备ID
channelNO是通道号

onDlgEvent是一个函数指针,标识一个函数。在通道打开有结果的时候(打开成功/失败),该函数会被调用。
onDlgData也是一个函数指针,标识一个函数。在通道打开成功,并且有GPS数据的时候,该函数会被调用。

C#层 在onDlgData指向的函数中,可以接受到GPS数据。onDlgData回调上来的数据,是指向一个C结构体的指针,需要调用C#的相关接口装换。
转换函数如下:
public void onGetGpsData(string puId, IntPtr pGpsData, Int32 len)
        {
            BVCU_PUCFG_GPSData gpsdata = (BVCU_PUCFG_GPSData)Marshal.PtrToStructure(pGpsData, typeof(BVCU_PUCFG_GPSData));
         }
}


请务必在回调函数中执行装换,不要在invoke到主线程之后再转换,数据在回调函数结束后就会清掉。


详情请参考,WinFormDemo.sln

reply agree Against

使用道具 report

creditRule

QQ|wireless surveillance

GMT+8, 2024-12-24 09:16 , Processed in 0.058596 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

QuickReply backToTop BackToList