labwindows 串口回调函数事件响应的问题
已将主要程序添加在附件中,我现在从串口接收到的是三个通道合成一路的数据,每收到一个字节我都要根据前两位判定是哪个通道的,然后经过数据转换后用三个stripchart分别显示出来,波特率为57600,如果我在串口回调函数中将事件设为LWRS_RECIVE,Notify_Count设为1,回调函数为Com_Event_Func,那就应该是接收到一个字符就响应回调函数Com_Event_Func,,我在回调函数里读出输入队列的一个字符后进行相应处理,读出数据后输入队列就应该是空的,然后收到下一个字符再响应回调函数,但实际情况确是在响应函数中输入队列不止一个数,我必须用清空输入队列FlushInQ后才会再响应回调函数;另外我也试过将Notify_Count设为20,但响应回调函数时输入队列中的字符数仍会多于20,我编的程序在附件里有,希望有高手能看看为我指点下,怎样才能不丢数据或者还有别的方法可以实现我想要的功能,真的很需要大家的帮忙,如果有高手愿意仔细看看,觉得需要我把整个工程都上传也可以留言,先谢谢了!另外我发现我停止采集时程序反应很慢,且stripchart我设置为每有20个点显示一次,照理说速度很快看着应该是连续的波形,但显示的时候确实一段一段(即20个)出现的,不知道是什么问题,也希望有人为我解惑,谢谢!
确实没有系统的项目无法调试的,兄弟!不过还有一个问题,您这个需要硬件配套的,其实也不是太好弄!
我做过labwindows里面的串口的事件,感觉也没有什么问题!您最好将响应的字节数设为它一次上传的总数目!您上面说的只有一字节的,应该是在响应完这一字节后,可能太快传上来,导致里面还有其他内容了吧!
最好采用一问一答的模式,上位机发指令取数,下位机就送数上来!
页:
[1]