Stega upp portar i C, Renesas M16C
Postat: 22 april 2008, 16:05:37
Jag håller på att skriva ett program till en M16C som ska sköta timing och riktning av en stegmotor.
Portarna är definierade så här:
Frågetecknen ska ersättas med lämpligt nummer sedan när jag ska koppla in drivkretsen.
Om vi förbiser timingen så länge för att hålla detta så rent som möjligt, så är jag ute efter att göra något sånt här:
Jag hoppas att min fulhackade pseudo-kod går att läsa.
Jag vet att det inte går att göra så som står ovan, för det skulle försöka lagra texterna "ON" och "OFF" på de positionerna som anges, men jag hoppas att min tanke går fram. Men hur ska jag tänka? Ska jag titta lite mer på pekare?
Portarna är definierade så här:
Kod: Markera allt
#define MTR1 p?_?
#define MTR2 p?_?
#define MTR3 p?_?
#define MTR4 p?_?
Om vi förbiser timingen så länge för att hålla detta så rent som möjligt, så är jag ute efter att göra något sånt här:
Kod: Markera allt
int i=1;
char phase[] = {ph1; ph2; ph3; ph4};
while(villkor) {
phase[i] = ON;
Delay
phase[i] = OFF;
Delay
i++;
if(i==5) i=1;
}
Jag vet att det inte går att göra så som står ovan, för det skulle försöka lagra texterna "ON" och "OFF" på de positionerna som anges, men jag hoppas att min tanke går fram. Men hur ska jag tänka? Ska jag titta lite mer på pekare?