引用: 引用 2 楼 zhouyi86 的回复:
非常感谢你的解答,但如果我想还是用同样的设备名可不可以?
引用: 引用 3 楼 seemknow 的回复:
当然可以用同样的设备名了,不然I2C那样几个设备复用的驱动咋整。
CreateFile时有个参数要写OPEN_EXISTING。
ghI2C =? CreateFile(L"I2C1:",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
引用: 引用 4 楼 aaassd_cn 的回复:
我理解错了 我以为你有两个同样的物理设备呢
操作同一个设备,注意设置临界区
引用: 引用 7 楼 seemknow 的回复:
不知道你是怎么写ADC的。我这里的ADC也是多路的,用CreateFile这样没问题,用IOControl带通道参数来读取各个通道。
是否有mutex之类的书写不当造成了冲突?
引用: 引用 3 楼 seemknow 的回复:
当然可以用同样的设备名了,不然I2C那样几个设备复用的驱动咋整。
CreateFile时有个参数要写OPEN_EXISTING。
ghI2C =? CreateFile(L"I2C1:",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
引用: 引用 8 楼 aaassd_cn 的回复:
ADC应该无所谓的,而且还分通道号,怕就怕是I2C,磁盘之类的东西,操作上有个流程不能打断,必须串行处理
Mutex用好了,不会出问题,这是非常成熟操作