这是一个FT2232D芯片,LED连接到BDBUS6。
该库的文档比我想象的要少(比起FTDI自己的库来说好多了,后者甚至不能在现代内核上工作),我能找到的唯一示例代码使用了已弃用的函数(我尝试过,似乎不起作用),我完全被难住了。
我越努力,这个东西就越困难。我不是在找人替我做功课,而只是需要一个正确方向的指引。任何帮助都会感激(即使是猜测)。
更新:我一直在尝试这个,虽然ftdi_enable_bitbang()已经被弃用。下面的代码可以编译,也可以运行而没有出错,但没有闪烁的灯光。有关设备的原理图可在http://www.semtech.com/images/datasheet/sx1211ska_v1_std.pdf 的第23页找到。BDBUS6和BDBUS7连接到LED。
该库的文档比我想象的要少(比起FTDI自己的库来说好多了,后者甚至不能在现代内核上工作),我能找到的唯一示例代码使用了已弃用的函数(我尝试过,似乎不起作用),我完全被难住了。
我越努力,这个东西就越困难。我不是在找人替我做功课,而只是需要一个正确方向的指引。任何帮助都会感激(即使是猜测)。
更新:我一直在尝试这个,虽然ftdi_enable_bitbang()已经被弃用。下面的代码可以编译,也可以运行而没有出错,但没有闪烁的灯光。有关设备的原理图可在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;
}