gpt4 book ai didi

无法在 Centos 中的 FT230X 中设置 GPIO 引脚

转载 作者:太空宇宙 更新时间:2023-11-04 03:37:59 24 4
gpt4 key购买 nike

我将 LED 连接到 FT230X 的 CBx 引脚。我正在使用 libftdi v1.2 来设置 FT230X CBx 引脚。我尝试了两种 bitbang 模式:BITMODE_BITBANG 和 BITMODE_CBUS,但没有任何结果。我的代码如下:

#include <ftdi.h>
#include <err.h>
int main(int argc, char *argv[])
{
struct ftdi_context ftdi;
unsigned char x;

/* Initialize and find device */
if (ftdi_init(&ftdi) < 0)
err(1, "ftdi_init");

if (ftdi_usb_open(&ftdi, 0x0403, 0x6015) < 0)
err(2, "can't open device");

/* Enable bitbang */
if (ftdi_set_bitmode(&ftdi, 0xff, BITMODE_BITBANG) < 0)
err(3, "can't enable bitbang mode");

/* Write Yellow */
x=0x00;
if (ftdi_write_data(&ftdi, &x, 1) < 0)
err(5, "can't write");
sleep(3);
/* Write Red */
x=0x01;
if (ftdi_write_data(&ftdi, &x, 1) < 0)
err(5, "can't write");
sleep(3);
/* Write Green */
x=0x02;
if (ftdi_write_data(&ftdi, &x, 1) < 0)
err(5, "can't write");
sleep(3);

/* Close device */
ftdi_usb_close(&ftdi);
ftdi_deinit(&ftdi);

return 0;
}

应该注意的是,相同的代码(不包括产品 id = 0x6013)适用于 FT4232H。

最佳答案

我解决了我的问题。正如我提到的,我需要在 FT230X 上设置 CBx 引脚。对于这种情况,FT230X 应在 EEPROM 中启用 BITMODE_CBUS 模式。在 BITMODE_CBUS 模式下,如 libftdi 的 bitbang_cbus.c 示例中所述,设置这些 CBx 引脚应仅使用 ftdi_set_bitmode() 函数。其中第二个参数(位掩码)中高四位控制输入/输出,低四位控制设置为输出的线的状态。

关于无法在 Centos 中的 FT230X 中设置 GPIO 引脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30729566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com