小编use*_*153的帖子

如何创建C++设备驱动程序类

我非常了解C,而不是C++ - 并且想要用C++创建硬件驱动程序.我需要一些指示.

在C中,我将创建一个结构,使用函数指针并相应地填充func指针,在运行时填充ether,或者通过编译时初始化{就像在Linux内核驱动程序中重新初始化的设备驱动程序}.Linux设备驱动程序通常有一个'driver private'元素,让驱动程序保持一个特定于实现的指针(保存其他东西)

我不知道该怎么做 - 使用C++类创建相同的东西.

我的例子是一个串口.

驱动程序的硬件部分 - 在C中将是这样的:

struct serail_driver;
struct serial_hw_level;

struct serial_hw_level {
    // points to implementation specific details
    inptr_t  hw_private;

    // basically pure virtual functions
    int (*wrBytes)( struct serial_driver *pDriver, uint8_t *ptr_bytes, int nBytes );
    int (*rdBytes)( struct serial_driver *pDriver, uint8_t *ptr_bytes, int nBytes );

    /* there would be other member funds, but this is is a short example */
};

/* the generic serial port */
struct serial_generic_driver {
     const char *name; …
Run Code Online (Sandbox Code Playgroud)

c++ device-driver

10
推荐指数
1
解决办法
2295
查看次数

opencv 设置相机分辨率 windows vrs linux

会出现这种变体的问题,但不会出现这种错误情况。

此代码可在 Linux 上运行,但在 windows10 OpenCV 3.4.2、64 位 -Python 3.6 上失败 - 通过“pip3 install opencv-python”安装

它在 Windows 上失败并显示以下错误消息。

如果我删除 'cv2.set()' 的 horz 和 virt 大小,它可以工作,没有问题,但分辨率不是我想要的

我的目标是从默认图像大小更改为更大的大小。

v=3.4.2
Camera H=480, W=640
Camera H=480, W=640
[ WARN:0] videoio(MSMF): OnReadSample() is called with error status: -1072875855
[ WARN:0] videoio(MSMF): async ReadSample() call is failed with error status: -1072875855
[ WARN:1] videoio(MSMF): can't grab frame. Error: -1072875855
[ WARN:1] videoio(MSMF): can't grab frame. Error: -2147483638
Run Code Online (Sandbox Code Playgroud)

这是 Python 代码

import cv2
print("v=%s" % cv2.__version__)
cap …
Run Code Online (Sandbox Code Playgroud)

python opencv image-resizing

3
推荐指数
1
解决办法
5084
查看次数

标签 统计

c++ ×1

device-driver ×1

image-resizing ×1

opencv ×1

python ×1