31
Hardware / Re:Blikání obrazovky
« kdy: 21. 05. 2013, 07:19:52 »
Ještě bych chtěl dodat, že když snímám obrazovku např. pomocí Kazaam, tak na záznamu probkikávání vidět není.
Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.
Potřebuješ PWM modulaci, frekvence řádově v kHz se dá na LPT udělat, což na větrák s přehledem stačí. Tady se můžeš inspirovat:
http://linuxgazette.net/issue97/pramode.html
Je to pro RT kernel, ale na normálním to taky bude fungovat, stačí použít nanosleep a pouštět to pod rootem. Bude to žrát 100% CPU, protože nanosleep dělá busy wait.
#include <sys/io.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/select.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
#define base 0x378
void perm(void) {
if(ioperm(base,1,1)) {
printf(" Nedostatecna prava!\n");
exit(1);
}
}
void wait_usec(int usec) {
struct timeval tv;
tv.tv_sec = 0;
tv.tv_usec = usec;
select(0,NULL,NULL,NULL,&tv);
}
int main(int argc, char *argv[]) {
int i;
int cas;
perm();
if(atoi(argv[3]) == 0) {
while(1) {
outb(atoi(argv[2]), base);
wait_usec(atoi(argv[4]));
outb(atoi(argv[1]), base);
wait_usec(atoi(argv[4]));
}
} else {
for(i=0;i<atoi(argv[3]);i=i+1) {
outb(atoi(argv[2]), base);
wait_usec(atoi(argv[4]));
outb(atoi(argv[1]), base);
wait_usec(atoi(argv[4]));
}
}
exit(0);
}
Pred koupi jsem jeste uvazoval o:
http://www.alza.cz/acer-travelmate-b113-e-887b2g32akk-d358254.htm