是FT2232D芯片,LED接BDBUS6。
该库的文档比我想的要少(虽然比 FTDI 自己的库更好,但它甚至不适用于现代内核),我能找到的唯一示例代码使用了一个不推荐使用的函数(我试过了,它没有似乎工作),我完全被难住了。
我越努力尝试这件事,它似乎就越困难。我不是在找人帮我做作业,我只需要朝着正确的方向轻推。任何帮助表示赞赏(甚至是推测性的)。
更新:我一直在尝试这个,虽然 ftdi_enable_bitbang() 已被弃用。以下代码编译,它运行时没有呕吐,但没有blinkenlighten。相关设备的示意图可在http://www.semtech.com/images/datasheet/sx1211ska_v1_std.pdf第 23 页获得。BDBUS6 和 BDBUS7 连接到 LED。
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <ftdi.h>
#define FTDI_VID 0x0403
#define FTDI_PID 0x6010
static struct ftdi_context ftdic_context;
int main(void) {
int ret;
unsigned int i;
unsigned char c = 0;
// Initialize bitbang.
// ret = ft2232_bb_init();
ftdi_usb_open(&ftdic_context, FTDI_VID, FTDI_PID);
ftdi_set_interface(&ftdic_context, INTERFACE_B);
ftdi_enable_bitbang(&ftdic_context, 0xb0);
// Trying to blink some lights.
printf("\nNow let's try to blinkenlights...\n");
for (i = 0; i < 20; i++) {
c ^= 0x80;
ftdi_write_data(&ftdic_context, &c, 1);
sleep(1);
}
return EXIT_SUCCESS;
}