如何正确使用位掩码以正确使用数字io端口(USB-AD14f)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何正确使用位掩码以正确使用数字io端口(USB-AD14f)相关的知识,希望对你有一定的参考价值。

当前正在使用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个输出端口正常工作,这显然应该使用位掩码来完成。不胜感激!

答案
None

以上是关于如何正确使用位掩码以正确使用数字io端口(USB-AD14f)的主要内容,如果未能解决你的问题,请参考以下文章

位掩码和 Air724 LTE 模块

无法应用位掩码

碰撞位掩码是如何工作的?斯威夫特/雪碧套件

如何堆叠多个二进制掩码以创建用于多类分割的单个掩码?

如何使用位掩码在 Swift 2.2 中自定义 UIControlState?

如何使用位掩码来允许/禁止某些位的操作