Atmel AT90USB646
Salve a tutti voi del forum, scrivo questo messaggio perché sono disperato.
Ho iniziato a sperimentare un po' con i uC della Atmel, per precisione un AT90USB646...
purtroppo non ho ancora la scheda debugger (la Dragon) e per debuggare il software utilizzo il debugger integrato,
che si chiama avr simulator presente all'interno di AVR studio 5.
Putroppo il debugger non supporta il mio uC e per ora simulo il codice per un ATmega128.
Premessa, vengo da mondo PIC in ASM e C.
Ho capito che uC Atmel hanno per ogni porta 3 registri, in particolare uno detto DDRx che serve per impostare la direzione della porta,
cioè se input o output (se non ricordo male come il vecchio TRIS nel mondo PIC),
un altro detto PORTx che serve per abilitare la resisteza di pullup interna se la porta è configurata come input, oppure per scrivere un dato sulla porta quando è configurata come output. Infine un registro detto PINx che serve per leggere la porta nel caso sia output si legge il dato che sta uscendo o nel caso sia input si legge lo stato dei pin della porta, ad esempio se per qualche stimolo esterno uno o piu pin vengono portati alti/bassi.
Ho capito, spero bene, questo leggendo il DS del micro e seguendo questo link
Adesso mi chiedo, se volessi verificare il cambiamento di un solo bit di una porta settato come ingresso, usando la resistenza di pullup interna?? (in pratica ascolto quando va basso) come posso scrivere il codice? senza usare interrupt... in pratica l'equivalente del vecchio BTF del PIC...
In C non riesco e in assembler provando le istruzioni che trovo sul DS non vanno, non riconosce i comandi. Devo includere qualche altra libreria oltre a quelle già incluse? (ho incluso la IO.h e quella per il reset del watchdog da software, senza programmatore non posso agire sui fuses passando per la programmazione USB che offre il boot loader). Scrivo con AVR Studio 5 in C.
Per qualsiasi altra info che manca per mia svista o ignoranza sono a vostra disposizione, grazie in anticipo. Luca.
Ho iniziato a sperimentare un po' con i uC della Atmel, per precisione un AT90USB646...
purtroppo non ho ancora la scheda debugger (la Dragon) e per debuggare il software utilizzo il debugger integrato,
che si chiama avr simulator presente all'interno di AVR studio 5.
Putroppo il debugger non supporta il mio uC e per ora simulo il codice per un ATmega128.
Premessa, vengo da mondo PIC in ASM e C.
Ho capito che uC Atmel hanno per ogni porta 3 registri, in particolare uno detto DDRx che serve per impostare la direzione della porta,
cioè se input o output (se non ricordo male come il vecchio TRIS nel mondo PIC),
un altro detto PORTx che serve per abilitare la resisteza di pullup interna se la porta è configurata come input, oppure per scrivere un dato sulla porta quando è configurata come output. Infine un registro detto PINx che serve per leggere la porta nel caso sia output si legge il dato che sta uscendo o nel caso sia input si legge lo stato dei pin della porta, ad esempio se per qualche stimolo esterno uno o piu pin vengono portati alti/bassi.
Ho capito, spero bene, questo leggendo il DS del micro e seguendo questo link
Adesso mi chiedo, se volessi verificare il cambiamento di un solo bit di una porta settato come ingresso, usando la resistenza di pullup interna?? (in pratica ascolto quando va basso) come posso scrivere il codice? senza usare interrupt... in pratica l'equivalente del vecchio BTF del PIC...
In C non riesco e in assembler provando le istruzioni che trovo sul DS non vanno, non riconosce i comandi. Devo includere qualche altra libreria oltre a quelle già incluse? (ho incluso la IO.h e quella per il reset del watchdog da software, senza programmatore non posso agire sui fuses passando per la programmazione USB che offre il boot loader). Scrivo con AVR Studio 5 in C.
Per qualsiasi altra info che manca per mia svista o ignoranza sono a vostra disposizione, grazie in anticipo. Luca.
ma l' ho ridotto a questo.