Home Forum MICROCONTROLLORI programmazione atmega8 in C

Questo argomento contiene 4 risposte, ha 3 partecipanti, ed è stato aggiornato da  Raffaele65 1 anno, 9 mesi fa.

Stai vedendo 5 articoli - dal 1 a 5 (di 5 totali)
  • Autore
    Articoli
  • #59499

    s.d.
    Membro

    Salve a tutti, sono nuovo del forum, perciò mi scuso subito se ho sbagliato la sezione per porre la domanda, ma è una cosa urgente.

    Bene, arrivo subito al punto:

    vorrei capire il funzionamento della programmazione del AtMega8 in linguaggio c. Ho appena iniziato a studiarli a scuola ma non ci ho capito poco nulla perciò pregherei se partiste a spiegarmi le cose da zero per poi arrivare alle funzioni più complesse come gli INTERRUPT i TCCRC e cose simili. Magari con qualche semplice programmino comprenderei meglio le cose.

    Spero di essere stato chiaro nella spiegazione del mio problema e ringrazio in anticipo per le risposte :) .

    #72839

    Emanuele
    Keymaster

    Salve s.d.
    è un po’ difficile risponderti in quanto non poni un quesito specifico, ma una vera e propria richiesta di corso sulla microprogrammazione. Per poter programmare gli AtMega in C bisogna conoscere il loro datasheet, il relativo compilatore ed avere delle basi di elettronica e programmazione come ad esempio la conoscenza degli interrupt.

    L’argomento è molto vasto e lo stiamo trattando con Piero in modo professionale qui:

    http://it.emcelettronica.com/corso-di-microprogrammazione-sistemi-di-numerazione

    oppure puoi fare una ricerca su questo blog e cercare corso sui picmicro (ne abbiamo fatti addirittura 3), i concetti base sono simili, tra pic e atmega.

    Infine posso consigliarti il passaggio per Arduino, sicuramente all’inizio ti semplifica la vita ;)

    #72840

    s.d.
    Membro

    Non e proprio quello che intendevo. Io so programmare in C e ora vorrei applicare il C per programmare i micro come l’Atmega8(poichè noi usiamo quest’ultimo). E vorrei vedere qualche bella guida in italiano che ti spieghi dall’inizio come fare, ad esempio l’accensione di un led nell’AtMega8.

    #72842

    Emanuele
    Keymaster

    Da come dici sembrerebbe che ti mancano le basi della programmazione embedded, appunto ti consigliavo un corso basato sulla microprogrammazione.

    Per accendere un led, su AtMega8 o come su qualsiasi altro micro, devi portare ad 1 il relativo bit della porta interessata. Puoi farlo in assembler o in C, in binario o in esadecimale.

    Se leggi il datasheet è scritto chiaro come sono definite le porte.

    PORTB = 0 (azzera la porta)

    PORTB = FF (attiva tutte le uscite)

    Devi anche settare i bit relativi ai pin che ti interessano come ingressi od uscite.

    Guarda qui:

    http://www.atmel.com/images/avr_3_04.pdf

    Ma come ti dicevo non puoi programmare un microcontrollore senza le basi di microprogrammazione e senza aver letto il datasheet del microcontroller e la documentazione relativa al compilatore che vuoi utilizzare.

    Poi, ovviamente, dipende che uso ne devi fare, per giocare c’è sempre Arduino ;)

    #72868

    Raffaele65
    Membro

    Sul sito della Atmel sono presenti dei kit di sviluppo. Al loro interno sono presenti le librerie in C/C++ per eseguire la corretta programmazione. Naturalmente il tutto deve essere unito alla lettura del DataSheet dell’Atmel che stai usando.

Stai vedendo 5 articoli - dal 1 a 5 (di 5 totali)

Devi aver eseguito l’accesso per poter rispondere a questa discussione.