【技术实现步骤摘要】
本专利技术涉及通信领域,尤其涉及一种基于USB设备的异步调用方法和装置。
技术介绍
现有技术中,上位机与USB设备之间的通信方式为同步通信,上位机向USB设备发送一条指令后,等待接收USB设备返回的响应,当上位机接收到USB设备返回的响应之后,才能够继续进行其他操作。因此,在这种通信方式中,上位机向USB设备发送指令后,只能阻塞等待USB设备处理完返回响应,不能进行其他操作,上位机的灵活性差,工作效率低。
技术实现思路
本专利技术的目的是为了克服现有技术的不足,提供一种基于USB设备的异步调用方法和装置,在上位机中增加通信库,上位机中的主控装置通过通信库向USB设备发送指令,通信库通过回调函数的方式将USB设备的响应返回给上位机中的主控装置,主控装置在发送指令之后不必等待接收响应。本专利技术提供的一种基于USB设备的异步调用方法,包括:步骤S1:接收主控装置发送的上位机指令,向所述主控装置返回接收成功信息,根据USB设备的设备句柄,向USB设备发送所述上位机指令,接收所述USB设备返回的第一响应数据;步骤S2:判断所述第一响应数据中的返回码是否为第七预设值,是则将查询标识置位,结束,否则执行步骤S3;步骤S3:通过调用回调函数,将所述第一响应数据返回给所述主控装置,结束;所述方法还包括:步骤A01:判断所述查询标识是否置位,是则执行步骤A02,否则返回步骤A01;步骤A ...
【技术保护点】
一种基于USB设备的异步调用方法,其特征在于,所述方法包括:步骤S1:接收主控装置发送的上位机指令,向所述主控装置返回接收成功信息,根据USB设备的设备句柄,向USB设备发送所述上位机指令,接收所述USB设备返回的第一响应数据;步骤S2:判断所述第一响应数据中的返回码是否为第七预设值,是则将查询标识置位,结束,否则执行步骤S3;步骤S3:通过调用回调函数,将所述第一响应数据返回给所述主控装置,结束;所述方法还包括:步骤A01:判断所述查询标识是否置位,是则执行步骤A02,否则返回步骤A01;步骤A02:根据所述USB设备的设备句柄,向所述USB设备发送查询指令,接收所述USB设备返回的第二响应数据;步骤A03:对所述第二响应数据中的返回码进行判断,若所述返回码为第六预设值则将所述查询标识复位,执行步骤A04,若所述返回码为第五预设值则返回步骤A01,若是其他值则执行步骤A04;步骤A04:通过调用所述回调函数,将所述第二响应数据返回给所述主控装置,返回步骤A01。
【技术特征摘要】
1.一种基于USB设备的异步调用方法,其特征在于,所述方法包括:
步骤S1:接收主控装置发送的上位机指令,向所述主控装置返回接收成功
信息,根据USB设备的设备句柄,向USB设备发送所述上位机指令,接收所述
USB设备返回的第一响应数据;
步骤S2:判断所述第一响应数据中的返回码是否为第七预设值,是则将查
询标识置位,结束,否则执行步骤S3;
步骤S3:通过调用回调函数,将所述第一响应数据返回给所述主控装置,
结束;
所述方法还包括:
步骤A01:判断所述查询标识是否置位,是则执行步骤A02,否则返回步
骤A01;
步骤A02:根据所述USB设备的设备句柄,向所述USB设备发送查询指令,
接收所述USB设备返回的第二响应数据;
步骤A03:对所述第二响应数据中的返回码进行判断,若所述返回码为第
六预设值则将所述查询标识复位,执行步骤A04,若所述返回码为第五预设值
则返回步骤A01,若是其他值则执行步骤A04;
步骤A04:通过调用所述回调函数,将所述第二响应数据返回给所述主控
装置,返回步骤A01。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1之前包括:判
断所述查询标识是否置位,是则向所述主控装置返回错误信息,结束,否则执
行步骤S1。
3.根据权利要求1所述的方法,其特征在于,所述根据USB设备的设备
句柄,向USB设备发送所述上位机指令,接收所述USB设备返回的第一响应数
据,包括:
步骤S1-1:获取卡片状态,判断所述卡片状态是否为重置,是则执行步骤
S1-2,否则执行步骤S1-3;
步骤S1-2:重新与所述USB设备建立连接,执行步骤S1-3;
步骤S1-3:根据所述USB设备的设备句柄,向所述USB设备发送所述上
位机指令,接收所述USB设备返回的第一响应数据。
4.根据权利要求1所述的方法,其特征在于,所述步骤S3之前包括:判
断向所述主控装置返回USB设备响应的回调函数指针是否为空,是则结束,否
则执行步骤S3。
5.根据权利要求1所述的方法,其特征在于,所述步骤A01之前包括:判
断所述USB设备的设备句柄是否为空,是则结束,否则执行步骤A01。
6.根据权利要求1所述的方法,其特征在于,所述根据USB设备的设备
句柄,向所述USB设备发送查询指令,接收所述USB设备返回的响应数据,包
括:
步骤A02-1:获取卡片状态,判断所述卡片状态是否为重置,是则执行步骤
A02-2,否则执行步骤A02-3;
步骤A02-2:重新与所述USB设备建立连接,执行步骤A02-3;
步骤A02-3:根据所述USB设备的设备句柄,向所述USB设备发送所述查
询指令,接收所述USB设备返回的第二响应数据。
7.根据权利要求1所述的方法,其特征在于,所述步骤A03之前包括:判
断所述第二响应数据的长度是否不小于第一预设长度,是则执行步骤A03,否
则返回步骤A01。
8.根据权利要求1所述的方法,其特征在于,所述步骤A04之前包括:判
断向所述主控装置返回USB设备响应的回调函数指针是否为空,是则返回步骤
A01,否则执行步骤A04。
9.根据权利要求1所述的方法,其特征在于,所述步骤A01之前还包括:
步骤P1:枚举与上位机相连的USB设备,获取所述USB设备的设备名称
和设备名称长度;
步骤P2:根据所述设备名称长度,判断所述设备名称是否正确,是则执行
步骤P3,否则向所述主控装置返回错误信息,结束;
步骤P3:根据所述设备名称和所述设备名称长度,打开并连接所述USB设
备;
步骤P4:判断是否成功打开并连接所述USB设备,是则执行步骤P5,否
则向所述主控装置返回错误信息,结束;
步骤P5:获取所述USB设备的设备句柄,将所述查询标识复位,设置向所
\t述主控装置返回USB设备响应的回调函数指针,执行步骤A01。
10.根据权利要求9所述的方法,其特征在于,所述步骤P1包括:
步骤P1-1:建立上下文环境,判断是否成功建立上下文环境,是则获取上
下文句柄,执行步骤P1-2,否则向所述主控装置返回错误信息;
步骤P1-2:枚举USB设备,判断是否存在与所述上位机相连的USB设备,
是则获取USB设备列表,执行步骤P1-3,否则向所述主控装置返回错误信息,
结束;
步骤P1-3:判断所述USB设备列表中是否存在与预设关键字匹配的设备名
称,是则获取与所述预设关键字匹配的设备名称和设备名称长度,否则向所述
主控装置返回错误信息,结束。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:关闭所
述USB设备,清除所述USB设备的设备句柄。
12.一种基于USB设备的异步调用装置,其特征在于,所述异步调用装置
包括:第一发送接收模块、第一判断模块、置位模块和第一回调模块;
所述第一发送接收模块,用于接收主控装置发送的上位机指令,向所述主
控装置返回接收成功信息,根据USB设备的设备句柄,向USB设备发送所述上
位机指令,接收所述USB设备返回的第一响应数据;
所述第一判断模块,用于当所述第一发送接收模块接收到USB设备返回的
第一响应数据后,判断所述第一响应数据中的返回码是否为第七预设值;
所述置位模块,用于当所述第一判断模块判断出所述返回码为第七预设值
时,将查询标识置位;
所述第一回调模块,用于当所述第一判断模块判断出所述返回码不为第七
预设值时,通过调用回...
【专利技术属性】
技术研发人员:陆舟,于华章,
申请(专利权)人:飞天诚信科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。