Kelmi kirjoitti:Itse suosittelen Pentti Vahteran ilmaista Micro-ohjaimen ohjelmointi C-kielellä. Näkyy olevan jälleen saatavilla Microsalon kotisivuilta. Teksti on vanhaa, mutta edelleen toimivaa
Edit: Ja ennen kuin joku ehtii sanoa, että osta Karvisten kirja Sulautetut, niin älä osta. Tai osta vain jos siltä tuntuu, mutta ei kannata. Arduinon käyttöön on omat syynsä ja on siinä etujakin, mutta uskon että elämä pidemmän päälle on paljon helpompaa jos ensin opettelee komentamaan rautaa C:llä eikä arduinon kirjastoilla.
Kelmi kirjoitti:Itse suosittelen Pentti Vahteran ilmaista Micro-ohjaimen ohjelmointi C-kielellä. Näkyy olevan jälleen saatavilla Microsalon kotisivuilta. Teksti on vanhaa, mutta edelleen toimivaa
Edit: Ja ennen kuin joku ehtii sanoa, että osta Karvisten kirja Sulautetut, niin älä osta. Tai osta vain jos siltä tuntuu, mutta ei kannata. Arduinon käyttöön on omat syynsä ja on siinä etujakin, mutta uskon että elämä pidemmän päälle on paljon helpompaa jos ensin opettelee komentamaan rautaa C:llä eikä arduinon kirjastoilla.
/*
* Switch_harjoitus.c
*
* Created: 5.3.2013 9:35:44
* Author: ChaosH
*/
#include <avr/io.h> //kirjastojen lisääminen
#include <util/delay.h>
int main(void)
{
DDRB = 0b00111111; // Portin B 7 ja 6 tuloja loput lähtöjä
unsigned char kytkin, arvo; // luodaan muuttujat kytkin ja arvo
while(1)
{
kytkin = PINB; // Luetaan Portin B tila kytkimen arvoksi
if (kytkin > 63) // Jos kytkin 7 tai 6 painetaan mennään switchiin
{
PORTB = 0x44;
}
arvo = kytkin;
switch(arvo)
{
case 64: // tila 1 kun kytkin 6 painettuna
PORTB = 0x55;
break;
case 128: // tila 2 kun kytkin 7 painettuna
PORTB = 0x77;
break;
default: PORTB = 0x11; // jos mitään ei paineta niin tällainen kuvio
}
}
}
/*
* Switch_harjoitus.c
*
* Created: 5.3.2013 9:35:44
* Author: ChaosH
*/
#include <avr/io.h> //kirjastojen lisääminen
#include <util/delay.h>
int main(void)
{
DDRB = 0b00111111; // Portin B 7 ja 6 tuloja loput lähtöjä
unsigned char kytkin, arvo; // luodaan muuttujat kytkin ja arvo
while(1)
{
kytkin = PINB; // Luetaan Portin B tila kytkimen arvoksi
if (kytkin > 63) // Jos kytkin 7 tai 6 painetaan mennään switchiin
{
PORTB = 0x44 & 0x3F; // Maskataan inputit pois;
}
arvo = kytkin & 0xC0;
switch(arvo)
{
case 0x40: // tila 1 kun kytkin 6 painettuna
PORTB = 0x55 & 0x3F; // Maskataan inputit pois
break;
case 0x80: // tila 2 kun kytkin 7 painettuna
PORTB = 0x77 & 0x3F; // Maskataan inputit pois
break;
case 0xC0: // tila 3 kun kytkin 6 ja 7 painettuna
// Tila pysyy samana
break;
default: PORTB = 0x11; // jos mitään ei paineta niin tällainen kuvio
}
}
}
Vuokko kirjoitti:Ja hitec jos oikeasti kiinnostaa sisuskalut niin vilkaise Forthia.
Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 1 vierailijaa