Radi se o kontroli paralelnog porta(LPT1) uz pomoč parapin.h biblioteke.
Evo sourcea
Code:
#include <stdio.h>
#include <stdlib.h>
#include <parapin.h>
int main()
{
if(pin_init_user(LPT1) < 0)
{
printf("Obavi operaciju kao root\n");
exit(0);
} else {
printf("Uspješna konekcija\n");
}
pin_output_mode(LP_DATA_PINS);
set_pin(LP_PIN03 | LP_PIN04);
wait(50);
clear_pin(LP_PIN03 | LP_PIN04);
}
#include <stdio.h>
#include <stdlib.h>
#include <parapin.h>
int main()
{
if(pin_init_user(LPT1) < 0)
{
printf("Obavi operaciju kao root\n");
exit(0);
} else {
printf("Uspješna konekcija\n");
}
pin_output_mode(LP_DATA_PINS);
set_pin(LP_PIN03 | LP_PIN04);
wait(50);
clear_pin(LP_PIN03 | LP_PIN04);
}
Problem je sljedeči. Kada pokrenem program na LEDicama se ništa ne događa kao da ih nisam ni upalio. Ako komentiram zadnju liniju(// clear_pin) LEDice se normalno upale, ako poslije toga maknem komentar sa clear_pin te ponovo pokrenem program LEDice se samo ugase. Pokušavam napraviti program koj če upaliti LEDice, pričekati neko vrijeme te ih ugasiti i ako ponovo pokrenem program da mi se opet upale i ugase.
Neznam dal je stvar u tome što radim na Linuxu tj. sa gcc kompajlerom ili u kodu. Ali u kodu nebi smio biti problem jer je sve točno napisano. Ali kada napišem neki drugi program sa wait funkcijom koj nema veze sa pinovima i LEDicama također ko da ga nema nego se program odmah izvrši. Da li se možda radi o postavci kompajlera ili nečem drugom?
Molim vas pomognite mi pa da mogu dalje nastaviti sa ponavljanjem zaboravljenog gradiva :D
Windows 95 /Win’ dz/: n., 32-bit extensions and a graphical shell for a 16-bit patch to an 8-bit operating system
originally coded for a 4-bit microprocessor, written by a 2-bit company, that can’t stand 1 bit of competition.
originally coded for a 4-bit microprocessor, written by a 2-bit company, that can’t stand 1 bit of competition.