当前正在使用USB-AD14f(https://www.bmcm.de/external-daq-systems/usb-ad14f.html)。最近,我遇到了一个问题,即我无法使数字IO端口正常工作。通道定义如下:
#define DIO1 (AD_CHA_TYPE_DIGITAL_IO|0x0001)
#define DIO2 (AD_CHA_TYPE_DIGITAL_IO|0x0002)
及其说明文件:
“数字端口的方向为硬连线。将第一个端口(DIO1)的8条(USB-AD14f)线设置为输入,将第二个端口(DIO2)的8条(USB-AD14f)线设置为输入输出”。
。h文件中的函数sig。看起来像这样:
/* output discrete sample
*
* adh handle returned by ad_open
* cha channel type and id
* range range number
* data sample to output
*
* returns 0 on success, otherwise error code
*/
int32_t
ad_discrete_out (int32_t adh, int32_t cha, int32_t range, uint32_t data);
我已将泵/阀连接到第一/第二端口。启动/停止泵可以通过以下方式正常工作:
int32_t start = ad_discrete_out(adh, DIO2, 0, 1);
int32_t stop = ad_discrete_out(adh, DIO2, 0, 0);
但是我无法使其他7个输出端口正常工作,这显然应该使用位掩码来完成。不胜感激!