CAN 总线通信 - MSG 结构 (WinUser.h) Linux 等效
Can-Bus Communication - MSG-Structure (WinUser.h) Linux equivalent
你好 Whosebug 社区
我已经搜索了很长时间,但没有找到解决我问题的方法。
我现在正在做一个项目,我必须将 Windows 工具移植到 Linux 操作系统(具体来说是 Ubuntu 12.04LTS)。
基于 Windows 的工具是用 C++ 编写的,因此我试图在 Linux 上用 C++ 重写该工具。
我现在面临的问题是,在 Windows 解决方案中有一部分使用了 'MSG'。
这里是 Windows 解决方案的代码片段:
/** Callback to send CAN message */
#define CB_SEND_MSG( MSG ) CanWriteCB( MSG )
我已经实现了 CanWriteCB 方法,但我没有找到 Linux 等同于 'MSG'。我在包含文件 'WinUser.h' 中的 Windows 工具中找到了 MSG 的声明。这看起来如下:
/*
* Message structure
*/
typedef struct tagMSG {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
#ifdef _MAC
DWORD lPrivate;
#endif
} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;
不知道对你有没有帮助,这里也是'CanWriteCB'方法的实现:
boolean_t CanWriteCB( Can_Msg *msg )
{
return (CanDispatcher_SendMsgByCanBus( msg ) == CanDisp_Err_Ok ) ? TRUE : FALSE;
}
const Det_Config detCfg =
{
WriteDebugErrorData
};
有人知道如何在 Linux 平台上实现这种结构吗?我唯一发现的是如何创建消息队列,但我完全不知道这对我有什么帮助?
感谢您的宝贵时间
此致
亚历克斯
你说的MSG是宏参数,与struct tagMSG
完全无关
Linux 使用 SocketCAN 实现了 CAN 总线的套接字接口,并支持各种硬件设备。最接近 CAN 消息结构的是 struct can_frame
.
你好 Whosebug 社区
我已经搜索了很长时间,但没有找到解决我问题的方法。 我现在正在做一个项目,我必须将 Windows 工具移植到 Linux 操作系统(具体来说是 Ubuntu 12.04LTS)。 基于 Windows 的工具是用 C++ 编写的,因此我试图在 Linux 上用 C++ 重写该工具。 我现在面临的问题是,在 Windows 解决方案中有一部分使用了 'MSG'。 这里是 Windows 解决方案的代码片段:
/** Callback to send CAN message */
#define CB_SEND_MSG( MSG ) CanWriteCB( MSG )
我已经实现了 CanWriteCB 方法,但我没有找到 Linux 等同于 'MSG'。我在包含文件 'WinUser.h' 中的 Windows 工具中找到了 MSG 的声明。这看起来如下:
/*
* Message structure
*/
typedef struct tagMSG {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
#ifdef _MAC
DWORD lPrivate;
#endif
} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;
不知道对你有没有帮助,这里也是'CanWriteCB'方法的实现:
boolean_t CanWriteCB( Can_Msg *msg )
{
return (CanDispatcher_SendMsgByCanBus( msg ) == CanDisp_Err_Ok ) ? TRUE : FALSE;
}
const Det_Config detCfg =
{
WriteDebugErrorData
};
有人知道如何在 Linux 平台上实现这种结构吗?我唯一发现的是如何创建消息队列,但我完全不知道这对我有什么帮助?
感谢您的宝贵时间
此致 亚历克斯
你说的MSG是宏参数,与struct tagMSG
完全无关
Linux 使用 SocketCAN 实现了 CAN 总线的套接字接口,并支持各种硬件设备。最接近 CAN 消息结构的是 struct can_frame
.