我是这个领域的开发过程的新手,所以我的问题可能看起来不太合逻辑。
我正在开展一个生产新 USB 设备的项目。我们假设该设备是网络摄像头。该设备的主要特点之一是它应该有一个非常智能的 API,以便程序员可以广泛访问硬件部件。例如,通过滑块手动控制相机镜头,闪光强度和拍摄帧率也是如此。
据我所知,在使用 API 之前,所有设备功能都应该由设备驱动程序提供并记录。不幸的是,我(作为一名 C/C++ 开发人员)被要求开始设计 API,作为通过其最终可交付功能来指导生产过程的方法。
那么开发人员在获得设备驱动程序之前还需要做什么工作吗?
另外,您能否提供一个示例代码(伪代码)来说明 API 如何利用设备驱动程序来执行某些功能?
设计 API 通常只意味着编写一个 C 语言头文件,其中包含库提供的方法的名称及其参数、返回类型和任何必要的文档。所以,是的,您当然可以在拥有设备驱动程序之前开始编写该文件。
由于您有两个不同的问题,我认为您应该将它们单独发布在本网站上。但无论如何,第二个问题的答案在很大程度上取决于您使用的操作系统。在 Windows 中,您可能会使用
DeviceIoControl
,在 Linux 中您可能会使用 ioctl
(或者只是 read
和 write
)。