Go Down

Topic: bascom - arduino (Read 926 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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy