Domande varie scheda wifi di arduino UNO Wifi

Bisogna dire che chi produce l'esp e' un'azienda cinese, e come tale credo abbia abbastanza interessi a far si che il loro prodotto venga utilizzato. A prescindere se usarlo o no con arduino. Arduino non e' altro che una bella scheda pronta all'uso con un "sistema operativo" a bordo per facilitarne l'uso a chi di programmazione ne capisce meno di zero. Purtroppo non ho ancora tra le mani l'arduino, ma da quello che sto vedendo dopo alcuni giorni di ricerca, ci sono molte cose che non mi sono chiare. Esiste una documentazione riguardo l'uso degli interrupt dell'atmega? In tutti gli esempi che leggo non ne vedo traccia . Qualcuno puo' indirizzarmi su qualche esempio dell'uso dell'interrupt al momento in cui si riceve un flusso dati sull'UART? Il WDT come viene gestito? Puo' essere disabilitato da sketch? Insomma, tutte le periferiche a bordo che nativamente generano un interrupt come vengono gestite tramite IDE? Una o piu' risposte a queste domande risolverebbero il problema della wifi tramite esp.

Anticipatamente grazie per le eventuali risposte.

Un esempio di uso di interrupt che sono abituato a gestire su atmel

; Buffer sulla ram esterna

.org 0x260

copytable: .byte 49
datachar: .byte 32000


.cseg

; Vettori interrupt

.org $0000
rjmp reset ;Reset handler

reti ;INT0addr=$001 External Interrupt0
reti ;INT1addr=$002 External Interrupt1
reti ;ICP1addr=$003 Input Capture1 Interrupt
reti ;OC1Aaddr=$004 Output Compare1A Interrupt
reti ;OC1Baddr=$005 Output Compare1B Interrupt
reti ;OVF1addr=$006 Overflow1 Interrupt

.org OVF0addr ;$007
rjmp ScanTable ;Timer0 overflow handler

reti ;SPIaddr =$008 SPI Interrupt

.org URXCaddr ;$009
rjmp UART_RXC ;UART Receive Complete Interrupt
reti

reti ;UDREaddr=$00a UART Data Register Empty Interrupt
reti ;UTXCaddr=$00b UART Transmit Complete Interrupt
reti ;ACIaddr =$00c Analog Comparator Interrupt


; *** Take a char from UDR *** 

.def mybyte  =r18 ; il byte ricevuto
.def add2l     =r17
.def add2h  =r16

UART_RXC:
in T_SR,SREG ; Saves the status register

in mybyte,UDR ; Get the char
       cpi mybyte,170 ; Richiesta da PC?
brne RXC1 ; Non e' un 170
clr temp
sts BIndexlow,temp ; clear and store to sram
sts BIndexhigh,temp ; clear and store to sram
sbr temp,1<<1 ; Segnala richiesta di presenza dal PC
sts rxflag,temp
;rcall UARTReq
rjmp RXC_Exit

RXC1: cpi mybyte,165
brne FillBuffer
clr temp
cbr temp,1<<1
sts rxflag,temp

FillBuffer:
;mov temp,writeena
;cpi temp,143
;brne RXCEX1
lds add2l,BIndexlow ; low byte buffer index value
lds add2h,BIndexhigh ; high byte buffer index value
ldi ZL,low(datachar) ; init X-pointer
ldi ZH,high(datachar)
add ZL,add2l ; pointed to next byte
adc ZH,add2h
subi add2l, low(-1) ; increment buffer index
sbci add2h, high(-1)
sts BIndexlow,add2l ; store to sram
sts BIndexhigh,add2h ; store to sram
st Z,mybyte

RXC_Exit:
;cpi mybyte,165
;brne RXCEX1
;clr writeena
RXCEX1:
out sreg,T_SR ; Restore SREG
reti

>pascal69: ti ricordo che in conformità al regolamento, punto 7 (… regolamento che mi permetto di consigliare di rileggere con attenzione), devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More → Modify che si trova in basso a destra del tuo post) e racchiudere il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra). Grazie.

Guglielmo

Gugliemo la ringrazio tantissimo per le sue puntualizzazioni. I suoi interventi rappresentano una manna caduta dal cielo, specialmente per chi cerca di avvicinarsi per la prima volta al mondo arduino.

pascal69: Gugliemo la ringrazio tantissimo per le sue puntualizzazioni. I suoi interventi rappresentano una manna caduta dal cielo, specialmente per chi cerca di avvicinarsi per la prima volta al mondo arduino.

Facciamo meno i "polemici" e ripettiamo di più il REGOLAMENTO, così ... non sarà proprio necessario che io intervenga.

Guglielmo