È un chip FT2232D e il LED è collegato a BDBUS6.Come faccio a lampeggiare un LED, usando libftdi v0.18?
La libreria è meno documentata di quanto mi piacerebbe (meglio della stessa libreria di FTDI però, che non funziona nemmeno sui kernel moderni), l'unico codice di esempio che posso trovare utilizza una funzione deprecata (ho provato, non sembra funzionare), e sono assolutamente perplesso.
Più ci provo con questa cosa, più sembra difficile. Non sto cercando qualcuno che faccia i compiti per me tanto quanto ho bisogno di una spinta nella giusta direzione. Qualsiasi aiuto apprezzato (anche speculativo).
Aggiornamento: ho provato questo, anche se ftdi_enable_bitbang() è deprecato. Il seguente codice viene compilato, funziona senza barfare, ma non lampeggia. Schemi del dispositivo in questione sono disponibili su http://www.semtech.com/images/datasheet/sx1211ska_v1_std.pdf, pagina 23. BDBUS6 e BDBUS7 sono collegati ai 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;
}
possibile duplicato [Ho difficoltà a trovare codice di esempio per la modalità mpsse (SPI) di libftdi.] (Http: // stackoverflo w.com/questions/3527464/im-having-trouble-finding-example-code-for-libftdis-mpsse-spi-mode) –
Non è un duplicato, ma è relativo al mio stesso progetto software. –