Il s'agit d'une puce FT2232D, et la LED est connectée à BDBUS6. La bibliothèque est moins documentée que je ne le souhaite (mieux que la propre bibliothèque de FTDI, qui ne fonctionne même pas sur les noyaux modernes), le seul exemple de code que je peux trouver qui utilise une fonction dépréciée (j'ai essayé, ça ne semble pas marcher), et je suis absolument perplexe.Comment faire pour éclairer une LED en utilisant libftdi v0.18?
Plus j'essaie avec cette chose, plus cela semble difficile. Je ne cherche pas quelqu'un pour faire mes devoirs pour moi autant que j'ai juste besoin d'un coup de pouce dans la bonne direction. Toute aide appréciée (même spéculative). Mise à jour: J'ai essayé cela, mais ftdi_enable_bitbang() est obsolète. Le code suivant compile, il fonctionne sans barfing, mais pas blinkenlighten. Les schémas de l'appareil en question sont disponibles au http://www.semtech.com/images/datasheet/sx1211ska_v1_std.pdf, page 23. BDBUS6 et BDBUS7 sont raccordés aux 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;
}
double possible [J'ai du mal à trouver un exemple de code pour le mode mpsse (SPI) de libftdi.] (Http: // stackoverflo w.com/questions/3527464/im-having-trouble-finding-example-code-for-libftdis-mpsse-spi-mode) –
Pas un doublon, mais lié au même projet logiciel que le mien. –