Kezdőoldal » Számítástechnika » Programozás » Üdv egy kis segítségre lenne...

Üdv egy kis segítségre lenne szükségem?

Figyelt kérdés
Egy olyan programot kéne nekem összeállítani, ami egy léptetőmotort vezérel c-ben párhuzamos porton keresztül, amit tudnia kell: forgásirányváltás, lassítás, gyorsítás gomb leütésre forgás megszakítás.Köszönöm előre is a segítésget
2015. márc. 9. 17:52
1 2 3
 21/29 SimkoL ***** válasza:
Ha nem úgy kellet volna mindent kihúzni belőled, hamarabb kész lett volna :)
2015. márc. 9. 22:23
Hasznos számodra ez a válasz?
 22/29 A kérdező kommentje:
Remélem még olvasod, még egy kérdés a "jobbra/balra forgás" megvan, de valahogy meg kéne oldani hogy a d értékét növelje mondjuk 20asával a + gomb megnyomásával, ezt ha a while-on belül rakom ugye nem szerencsés viszont kívül sem tudtam megoldani, valahogy sikerült hogy megnöveltem de akkor leállt a while ciklus
2015. márc. 9. 23:06
 23/29 A kérdező kommentje:

Itt a program, ami eddig kész:

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>


int main(){


printf("Kilepes q \n");


int key = 0;

int d=20;

int i;


while(1){

if (_kbhit()){

key =_getch();


if (key == 'q')

break;

}

for (i=1; i<5; i++){

if (key == 'j'){

if (i=1){ printf("1_jobb\n"); /*outportb(0x378,1)*/}

//delay(d);

if (i=2){ printf("2_jobb\n"); /*outportb(0x378,2)*/}

//delay(d);

if (i=3){ printf("3_jobb\n"); /*outportb(0x378,4)*/}

//delay(d);

if (i=4){ printf("4_jobb\n"); /*outportb(0x378,8)*/}

//delay(d);

}


}

for (i=1; i<5; i++){

if (key == 'b'){


if (i=1){ printf("4_bal\n"); /*outportb(0x378,8)*/}

//delay(d);

if (i=2){ printf("3_bal\n"); /*outportb(0x378,4)*/}

//delay(d);

if (i=3){ printf("2_bal\n"); /*outportb(0x378,2)*/}

//delay(d);

if (i=4){ printf("1_bal\n"); /*outportb(0x378,1)*/}

//delay(d);

}


}


}


}

2015. márc. 9. 23:06
 24/29 SimkoL ***** válasza:
Még vagyok, mindjárt nézem, de elsőre eléggé nem értem ezt a ciklussal való ilyen variálást.
2015. márc. 9. 23:21
Hasznos számodra ez a válasz?
 25/29 A kérdező kommentje:
az majd ahhoz kell hogy ha az i=1 akkor az 1es portra tegye a magas jelet ha 2 akkor 2es portra és nekünk 4 portot kell használni és azokra kell felváltva magas jelet adni
2015. márc. 9. 23:31
 26/29 SimkoL ***** válasza:

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <time.h>

int main(){


printf("Kilepes q \n");


int key = 0, oldkey = 0;


int d = 2;

int i;


while(1){

if (_kbhit()){

oldkey = key;

key =_getch();

}

if (key == 'q') break;

if (key == '-'){ //gyorsít

d += 2;

key = oldkey;

}

if (key == '+'){ //lassít

if (d > 3) d -= 2;

key = oldkey;

}

if (key == 'j')

{

for (i=1; i<5; i++)

{

printf("1_jobb\n"); /*outportb(0x378,1)*/

sleep(d);

printf("2_jobb\n"); /*outportb(0x378,2)*/

sleep(d);

printf("3_jobb\n"); /*outportb(0x378,4)*/

sleep(d);

printf("4_jobb\n"); /*outportb(0x378,8)*/

sleep(d);

}

}


if (key == 'b')

{

for (i=1; i<5; i++)

{

printf("4_bal\n"); /*outportb(0x378,8)*/

sleep(d);

printf("3_bal\n"); /*outportb(0x378,4)*/

sleep(d);

printf("2_bal\n"); /*outportb(0x378,2)*/

sleep(d);

printf("1_bal\n"); /*outportb(0x378,1)*/

sleep(d);

}

}

}

}

2015. márc. 9. 23:53
Hasznos számodra ez a válasz?
 27/29 SimkoL ***** válasza:

*Bocs, javítsd már át


if (key == '+'){ //lassít

d += 2;

key = oldkey;

}

if (key == '+'){ //gyorsít

if (d > 3) d -= 2;

key = oldkey;

}

2015. márc. 10. 00:05
Hasznos számodra ez a válasz?
 28/29 SimkoL ***** válasza:

A fenébe, ez a jó, elnézést nagyon este van


if (key == '-'){ //lassít

d += 2;

key = oldkey;

}

if (key == '+'){ //gyorsít

if (d > 3) d -= 2;

key = oldkey;

}

2015. márc. 10. 00:06
Hasznos számodra ez a válasz?
 29/29 A kérdező kommentje:
Köszönöm
2015. márc. 10. 07:52
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!