����CANlib���¼�����

Troy
Wed, 30 Sep 2015 16:20:35 +0000

http://v.youku.com/v_show/id_XMTUzNzMzOTIyMA==

����CANlib����3ƪϵ�����µ����һƪ��

1. ��Visual Studio������CANlib

2. ����API����

3. �¼�����Ӧ�ó���

CANlib ���

�����ǵ���һ����Ƶ�У�������ʾ����δ���һ������̨Ӧ�ó���������ʹ��CANlib SDK���ṩ�Ļ���API���������úͶ�ȡCAN�����ϵı����� �ڱ���Ƶ�У����ǽ��ص�������ʹѭ���¼�������ȡ����Ч��

ʾ��

��ǰ���ʾ���У�����ʹ����Windows C������̨Ӧ�ó����������������ڶ��߳�Ӧ�ó�������ʾ�¼�����ѭ������ʾ����ʹ��Windows Presentation Foundation�����������̴߳���ͼ���û����棨GUI���Լ���̨�̴߳�CAN���߶�ȡ������

������һ���򵥵�ͼ���û����棬һ����ť������̨�̺߳�һ����ťֹͣ��̨�̡߳����ǻ�������һ���ı�������ʾ���յ��ı���������ʹ��XAML��������GUI��

���ǽ�ʹ��.NET��̨�����߳���ִ�����е�CAN���߲���������ζ�����Ǳ������System ComponentModel�����ռ䣬���ڴ���������ʱ������̨���������� GUI��Ҫ���ľ����ڰ������߿�����ťʱ������̨���������������߹رհ�ťʱֹͣ��̨����������ʾ��̨�̱߳�����ַ�����

���ǵĺ�̨��������ִ��ReceiveMessageLoop��������CAN�����м��������� ������ǰ������ӣ�������Ҫ����canlibCLSNET�����ռ�������ƺ���Ϸ�豸�ľ����������InitializeChannel�����з����˾������ָ���� ���ǳ�ʼ���⣬��ȡ��������ñ����ʣ���ʹ�����ϵ�ͨ����Ч�����ǻ������˶�canIoCtl�ĵ��ã��Ի�ȡһ��Windows�¼�����������������з���ĳЩ�¼�ʱ������������������ǽ��յ��ı��ģ����Ĵ����CAN������״̬�ĸı��������¼�������ԭ����ʲô���������ս��ջ����������򲻻��ٻ����һ���¼������������ע�⵽canIoCtl���ص�ָ�������ڴ�WaitHandle��������������Ҫʹ��WaitHandle�࣬���Ǳ������System.Threading�����ռ���

����������һ����ȷ��ʼ����ͨ�������һ���¼���������Իص�ReceiveMessageLoopѭ����ֱ��GUI�����̨��������ֹͣ����ѭ���ڣ�����ʹ��WaitAny�����ȴ�1����ֱ���¼������� ���û���¼������������ٴ�ѭ���� ���CAN�¼�����������ʹ��canRead����ѭ����ȡ���ģ�ֱ���ú���ָʾ���ջ�����Ϊ���Ҿ���canERR_NOMSG״̬������ÿ�����ĵ���Ϣ������ʹ��BackgroundWorker�������õ�ReportProgress������������Ϣ���ݻ�GUI��

���GUI�����̨��������ֹͣ�����ǽ��˳�whileѭ��������ReleaseChannel������ͨ��ʹͨ�����ڷǻ״̬���رվ����ִ�����ǵı�׼������

����Ӧ�ó�����Ȼ��Ӧ������ʹ�ý��ٵ�CPU��Դ����Ϊ����ֻ�����Ϣ�Լ���CAN�¼����û��¼�����ʱ������ʾ�����������ʹ�ö��߳�ʱ��canOpenChannel���÷��صľ�������̰߳�ȫ�������ÿ���̱߳���ʹ��canOpenChannel���������Լ�������ͨ�������

CANlib������Ϣ

�й�CANlib�ĸ�����Ϣ�������Բ鿴���ǵ�CANlib SDK���������鿴���ǵ����������е�ϵ��������