Ogladalem sobie wlasnie
Pozdrawiam.
Ogladalem sobie wlasnie
Pozdrawiam.
nie testowany, nie sprawdzający błędów, napisany w 5 minut kod:
#include <linux/ppdev.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int fd;
void init(void) { int x;
fd = open("/dev/parport0", O_WRONLY); ioctl(fd, PPCLAIM, 0);
/* CS=1 CLK=0 DIN=1 */ x = 0xfe; ioctl(fd, PPWDATA, &x); }
void send(unsigned char x) { int i, j
/* CS=0 CLK=0 DIN=1 */ j = 0xfc; ioctl(fd, PPWDATA, &j);
for (i = 0; i < 8; i++, x <<= 1) { /* CS=0 CLK=0 DIN=x */ j = (x & 128) ? 0xf8 : 0xfc; ioctl(fd, PPWDATA, &j); /* CS=0 CLK=1 DIN=x */ j = j | 0x01; ioctl(fd, PPWDATA, &j);
/* CS=0 CLK=0 DIN=x */ j = j & 0xfe; ioctl(fd, PPWDATA, &j); }
/* CS=1 CLK=0 DIN=1 */ j = 0xfe; ioctl(fd, PPWDATA, &j); }
/* w. */
nie testowany, nie sprawdzający błędów, napisany w 5 minut kod:
#include <linux/ppdev.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int fd;
void init(void) { int x;
fd = open("/dev/parport0", O_WRONLY); ioctl(fd, PPCLAIM, 0);
/* CS=1 CLK=0 DIN=1 */ x = 0xfe; ioctl(fd, PPWDATA, &x); }
void send(unsigned char x) { int i, j
/* CS=0 CLK=0 DIN=1 */ j = 0xfc; ioctl(fd, PPWDATA, &j);
for (i = 0; i < 8; i++, x <<= 1) { /* CS=0 CLK=0 DIN=x */ j = (x & 128) ? 0xfc : 0xf8; ioctl(fd, PPWDATA, &j);
/* CS=0 CLK=1 DIN=x */ j = j | 0x01; ioctl(fd, PPWDATA, &j);
/* CS=0 CLK=0 DIN=x */ j = j & 0xfe; ioctl(fd, PPWDATA, &j); }
/* CS=1 CLK=0 DIN=1 */ j = 0xfe; ioctl(fd, PPWDATA, &j); }
/* w. */
:) wiem jak sie gada z LPT, mialem raczej nadzieje na jakies API SPI gotowe :P Znalazlem w miedzy czasie cos takeigo :
Pozdrawiam.
no cóż, zdawało mi się, że to właśnie dostałeś.
kiedyś wygooglałem gotowy sterownik do MMC na GPIO, tyle że przeznaczony do jakiegoś SoC, na którym chodzi Linux, więc nie powinieneś mieć z tym problemów.
w.
Problemem jest mnogosc hasel z GPIO i MMC w google :( googlalem >2h i nic nie znalazlem poza kodem na PICa (bardzo ograniczony) i tym odczytem temperatury.
Pozdrawiam.
faktycznie, teraz nie udało mi się tego znaleźć. w każdym razie przykładów odczytu kart MMC po SPI jest w sieci całe mnóstwo, głównie w odtwarzaczach MP3. przeniesienie tego na Linuksa to zwykle zamiana odwołań do SPDR na proste funkcje (w jedną stronę już podesłałem) albo sbi() i cbi() na ioctl()e.
w.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.