Go Down

Topic: bascom - arduino (Read 822 times) previous topic - next topic

bledad

Bonjour,
nouveau sur arduino , j'avais l'habitude de programmer avec bascom , je me suis dit pourquoi pas avec arduino , surtout qu'il y a un forum en francais tres actif.
bref en faisant un ptit essai sur un attiny13 , je remarque , avec le meme programme , que bascom prend 21% de memoire pour la prog et que arduino prend plus de 1024 , qui m'empeche de le progammer vu que l'attyni13 fait 1k

soit je programme mal avec arduino , c'est bien possible
ou c'est normal ?
merci

arduino
Code: [Select]
const int buttonPin = 0;     
const int ledPin1=  1;     
const int ledPin2=  2;
const int ledPin3=  3;
const int ledPin4=  4;

int ledState = HIGH;
int buttonState;   
int lastButtonState = LOW;
long lastDebounceTime = 0;
long debounceDelay = 50; 

void setup() {
  pinMode(buttonPin, INPUT);
  pinMode(ledPin1,OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
  pinMode(ledPin4, OUTPUT);
}

void loop() {
    int reading = digitalRead(buttonPin);

  if (reading != lastButtonState) {
 
    lastDebounceTime = millis();
  }

  if ((millis() - lastDebounceTime) > debounceDelay) {
 
 
    buttonState = reading;
  }

 
  digitalWrite(ledPin1, buttonState);
  delay(1000);
  digitalWrite(ledPin2, buttonState);
  delay(1000);
  digitalWrite(ledPin3, buttonState);
  delay(1000);
  digitalWrite(ledPin4, buttonState);
  delay(1000);
 
 
  lastButtonState = reading;
}


bascom
Code: [Select]
$regfile = "attiny13.dat"
$crystal = 9600000
Config Pinb.0 = Input
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Pinb.3 = Output
Config Pinb.4 = Output

  Config Debounce = 30

Do
Debounce Pinb.0 , 1 , Pr , Sub

Loop
End

Pr:
Set Portb.1
Waitms 50
Reset Portb.1
Set Portb.2
Waitms 50
Reset Portb.2
Set Portb.3
Waitms 50
Reset Portb.3
Wait 5
Set Portb.4
Waitms 50
Reset Portb.4

Return

skywodd

Bonjour,


soit je programme mal avec arduino , c'est bien possible
ou c'est normal ?

C'est tout à fait normal, le "core arduino" n'as pas était réalisé dans le but d'être optimisé mais d'être simple d'utilisation.
Le simple fait d'utiliser le "core arduino" nécessite +440octets de flash pour stocker les tables port/broches <> n° broches (pour pinMode, digitalXXXXX, ...).

Je suis même pas sur qu'en utilisant le "Attiny arduino core" (google -> 1er lien ;)) il soit possible d'utiliser un ATtiny13 sous l'ide arduino ...

Ce qu'il te faudrait c'est du avr-c "pure" et utilisant directement les registres/ports de l'attiny, 1Ko c'est vraiment petit !
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

bledad

merci skywodd

merci pour les 440 octets de plus , effectivement arduino n'est pas fait pour les petits Attiny , c'etait juste un essai.
c'est vrai qu'il faudrait , pour comparer , programmer en avr-c , mais pour moi , sortit du basic , c'est difficile .
mon prochain projet sera avec un attiny84 + IR RC5 , j'espere que je vais evoluer avec arduino

Go Up