我正在为 Visual C++ Express 使用 CAN 适配器 API。您可以在他们的网站上找到有关 API 的更多信息。单击 USB-CANmodul2 硬件手册以获取我正在使用的正确 PDF 文件。这对于使用 CAN 且需要良好 API 的任何程序都很有用。
附上一些图片来帮助描述我在做什么。我在一个编译器上运行 CAN 引导加载程序,我的解析程序在 Visual Express 上。解析程序应该从文本文件中读取并将解析的信息发送到 CAN 引导加载程序,以便它可以将其编程到其内存中。我可以很好地发送消息。问题是,当 CAN 引导加载程序收到消息时,它应该回复其他程序发送的所有内容都是正确的,但我无法弄清楚如何使用 API 在解析程序中接收消息。我基本上已经完成了他们的 PDF 文件告诉我的所有事情。
我究竟做错了什么?
调试模式下的程序图片:解析程序发送的信息,引导加载程序将其放入缓冲区。引导加载程序即将调用函数以发回一条消息说没有错误。解析程序永远不会通过轮询循环,因此它永远不会收到消息。我知道引导加载程序发送功能有效,因为我已经使用 API 进来的相同 CAN 程序对它们进行了测试。希望这些信息足以让你们了解我在做什么。
这些是我遇到问题的行:
do
274. retMessageF = UcanReadCanMsgEx(UcanHandle, &bChannel, &rxMessage, NULL);
275. while(retMessageF != USBCAN_SUCCESSFUL);