如何在计算机应用层初始化时设置一个伪中断服务程序?

CH372中文手册中讲到: 上传数据流以伪中断方式发起的系统中,计算机应用层初始化时设置一个伪中断服务程序,然后应用层就不需要再涉及到上传数据流。当单片机需要上传数据时,首先将数据写入批量端点的上传缓冲区中,然后将中断特征数据写入中断端点的上传缓冲区中。在1 毫秒之内(理论值),与中断特征数据对应的伪中断服务程序被激活,伪中断服务程序通知主程序调用数据上传API获得上传数据块。 在此期间,单片机将会收到CH372 芯片通知的两次中断,首先是中断端点上传成功中断,然后是批量端点上传成功中断。

请问各位:如何在计算机应用层初始化时设置一个伪中断服务程序? 怎样定义中断特征数据? 内部缓冲上传模式的函数应该是用在请求加应答方式或上传数据流以查询方式发起的系统中吧? 是不是要在上位机中使用定时功能,定时调用ch372的中断API ch375readinter 读取下位机写入中断缓冲区中的中断特征数据,然后再读取批量缓冲区的数据?谢谢。

通过函数CH375SetIntRoutine(),指定一个回调函数作为中断服务程序.其实就是当下位机向中断端点写入你自已定义的特征数据,驱动从中断端点读到数据,然后就激活你的中断服务程序就,并将你向中断端点写入的数据作为参数传给中断服务程序.中断端点的传输实时性好,上位机可以每1ms读一次中断端口.而批量传输实时性不如中断传输,这要取决于usb的使用带宽. 在读批量端点前读中断只是为你让你上,下位机能尽量同步. 关于缓冲上传,这只是在驱动里有个线程,专门用来读取批量端点的数据,把读来的数据存放到驱动里的缓冲区内,每次你用ch375readdata读数据时,读的就是这个缓冲区内的数据. 关于ch375设备方式下的api函数说明请见ch375dll.h文件.


谢谢ls


只有登录才能回复,可以选择微信账号登录