创新can调试器Linux版
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

147 lines
3.6 KiB

4 years ago
  1. #include<windows.h>
  2. #include<windef.h>
  3. #include <userint.h>
  4. #include<stdio.h>
  5. #include"ControlCAN.h"
  6. VCI_CAN_OBJ sendbuf;
  7. VCI_CAN_OBJ pCanObj;
  8. int main()
  9. {
  10. VCI_INIT_CONFIG InitInfo;
  11. int flag =0;
  12. printf("============================================\r\n");
  13. printf("======== USB CAN Device test demo ==========\r\n");
  14. printf("== ��о�����Ƽ����޹�˾ copy right 2014 ====\r\n");
  15. printf("============================================\r\n\r\n");
  16. printf(">>>Step1:Open device:");
  17. //����CAN
  18. if(VCI_OpenDevice(VCI_USBCAN2,0,0)!=1)
  19. {
  20. printf(" Faild!\r\n");
  21. goto ERR;
  22. }
  23. else
  24. {
  25. printf("Success!\r\n");
  26. }
  27. //��ʼ��CAN
  28. InitInfo.Timing0=0x00;
  29. InitInfo.Timing1=0x14; //��ʼ��CAN�IJ�����Ϊ1M
  30. InitInfo.Filter=1;
  31. InitInfo.AccCode=0x8000000;
  32. InitInfo.AccMask=0xFFFFFFFF;
  33. InitInfo.Mode=2; //
  34. printf("\r\n>>>Step2:InitCAN and StartCAN(selftest mode)\r\n");
  35. printf(" Ch0:InitCAN: ");
  36. //��ʼ��ͨ��0
  37. if(VCI_InitCAN(VCI_USBCAN2,0, 0,&InitInfo)!=1) //can-0
  38. {
  39. printf(" Failed!\r\n");
  40. }
  41. else
  42. {
  43. printf("Success!\r\n");
  44. printf(" StartCAN: ");
  45. if(VCI_StartCAN(VCI_USBCAN2,0,0) != 1)
  46. printf(" Failed!\r\n");
  47. else
  48. printf("Success!\r\n");
  49. }
  50. printf(" Ch1:InitCAN: ");
  51. //��ʼ��ͨ��1
  52. if(VCI_InitCAN(VCI_USBCAN2,0, 1,&InitInfo)!=1) //can-1
  53. {
  54. printf(" Failed!\r\n");
  55. }
  56. else
  57. {
  58. printf("Success!\r\n");
  59. printf(" StartCAN: ");
  60. if(VCI_StartCAN(VCI_USBCAN2,0,1) != 1)
  61. printf(" Failed!\r\n");
  62. else
  63. printf("Success!\r\n");
  64. }
  65. printf("\r\n>>>Step3:Send and Receive test\r\n");
  66. sendbuf.ID=0x18ff0080;
  67. sendbuf.RemoteFlag=0; //����֡
  68. sendbuf.ExternFlag=1; //������չ֡
  69. sendbuf.DataLen = 8;
  70. for(BYTE i=0;i<8;i++)
  71. sendbuf.Data[i]=i;
  72. printf(" Ch0:Send: ");
  73. flag=VCI_Transmit(VCI_USBCAN2,0,0,&sendbuf,1);//CAN message send
  74. if(flag<1)
  75. {
  76. if(flag==-1)
  77. printf(" Failed, return value = -1, the device is invalid!\r\n");
  78. else if(flag==0)
  79. printf(" Failed!\r\n");
  80. }
  81. else
  82. printf("Success!\r\n");
  83. printf(" Receive: ");
  84. flag=VCI_Receive(VCI_USBCAN2,0,0,&pCanObj,1,100);
  85. if(flag<1)
  86. {
  87. if(flag==-1)
  88. printf(" Failed, return value = -1, the device is invalid!\r\n");
  89. else if(flag==0)
  90. printf(" Failed!\r\n");
  91. }
  92. else
  93. printf("Success!\r\n");
  94. printf(" Ch1:Send: ");
  95. flag=VCI_Transmit(VCI_USBCAN2,0,1,&sendbuf,1);//CAN message send
  96. if(flag<1)
  97. {
  98. if(flag==-1)
  99. printf(" Failed, return value = -1, the device is invalid!\r\n");
  100. else if(flag==0)
  101. printf(" Failed!\r\n");
  102. }
  103. else
  104. printf("Success!\r\n");
  105. printf(" Receive: ");
  106. flag=VCI_Receive(VCI_USBCAN2,0,1,&pCanObj,1,100);
  107. if(flag<1)
  108. {
  109. if(flag==-1)
  110. printf(" Failed, return value = -1, the device is invalid!\r\n");
  111. else if(flag==0)
  112. printf(" Failed!\r\n");
  113. }
  114. else
  115. printf("Success!\r\n");
  116. printf("\r\n>>>Step4:CloseDevice:");
  117. if(VCI_CloseDevice(VCI_USBCAN2,0) != 1)
  118. printf(" Failed!\r\n");
  119. else
  120. printf("Success!\r\n");
  121. printf("============================================\r\n");
  122. printf("\r\nTest over,press [return] key to exit!\r\n");
  123. goto END;
  124. ERR:
  125. printf("============================================\r\n");
  126. printf("An error happend,test failed,press [return] key to exit!\r\n");
  127. goto END;
  128. END:
  129. scanf("1");
  130. }