linguaggio c

7 Anni 10 Mesi fa #6 da Pinna
Risposta da Pinna al topic linguaggio c
Ciao Paolo,

per quanto ho capito atmel studio 7 ottimizza il codice in modo diverso dall'ide di microchip..... ne ho parlato privatamente con Mauro perchè la stessa istruzione la puoi scrivere in modi diversi..... però, quando si tratta di ottimizzare il codice, ovvero occupare pochi cicli di clock, qui si fa la differenza.... un esempio potrebbe essere PORTB |= (1<<PORTB7), che occupa un solo ciclo di clock.... ma se scrivi DDRB = 0b1000000 e controlli l'assembler vedrai la differenza.... per me è più facile scrivere la seconda istruzione perchè impiego meno tempo a scriverla ed è più leggibile ai miei occhi ma per il microcontrollore saranno "guai" tradotti in termini di tempo di esecuzione..... devi verificare l'assembler derivante dalle due diverse istruzioni e sopratutto scegliere quella che occupa meno cicli di clock.... gli atmel non sono male anzi..... per pilotare un servomotore uso un solo timer (timer 1) mentre con un pic ne devo usare due.... d'altro canto, per avere una vasta gamma di pwm, è meglio usare il pic....

Chi vola vale, chi vale vola, chi non vola è un vile

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Pinna
  • Avatar di Pinna
  • Moderator
  • Moderator
Di più
7 Anni 10 Mesi fa #7 da elpablito
Risposta da elpablito al topic linguaggio c
Ciao alla banda
Al Pinna; adesso ai beccato lo scrupolo di coscienza scriverò due istruzioni poi andrò a vedere sull'esadecimale. E' il problema dell'arduinese, facile a dirsi, ma difficile a farsi. Se però avanza tanto spazio, non è così difficile, va bene tutto, poi dipende sempre dal giocattolo che stai facendo.
Paolo

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • elpablito
  • Platinum Member
  • Platinum Member
Di più
7 Anni 10 Mesi fa #8 da elpablito
Risposta da elpablito al topic linguaggio c
Mi ero perso Cosimix
Sfondi una porta aperta, se però la porta va a 1 anche pippo dovrebbe andare a 1, personalmente preferisco il define e leggere la porta.
Paolo

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • elpablito
  • Platinum Member
  • Platinum Member
Di più
7 Anni 10 Mesi fa #9 da alfa75
Risposta da alfa75 al topic linguaggio c
Ciao Paolo

come ti ha gia spiegato Cosmix se porti la variabile pippo a 1 il pin RBx non andrà a 1 anche lui.

Stai confondendo la matematica con il linguaggio c.
Nel linguaggio c l'operatore "=" non significa "uguale a qualcosa" come in matematica , ma si chiama operatore di assegnamento.
Cioè assegna un valore ad una variabile.
riprendendo il solito esempio...

int pippo = PORTBbits.RB0; // pippo assume il valore di RB0 ma non viceversa!

pippo = 5; // pippo va 5 , ma solo pippo non RB0


Ciao
Andrea

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • alfa75
  • Avatar di alfa75
  • Platinum Member
  • Platinum Member
Di più
7 Anni 10 Mesi fa #10 da elpablito
Risposta da elpablito al topic linguaggio c
ALFA 75
Non ho mai fatto un'affermazione di tal fatta, io ho detto se la porta va a 1, in ingresso, la variabile assume automaticamente il valore della portà. Se così non è non capisco l'utilità di fare un'assegnazione con una variabile che non mi serve che mi costa memoria e forse anche cicli macchina.
Paolo

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • elpablito
  • Platinum Member
  • Platinum Member
Di più
Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login