Fidenza, Parma
Offline
God Member
Karma: 7
Posts: 736
Arduino rocks
|
 |
« on: December 25, 2012, 07:42:19 am » |
Ciao a tutti, ho un attiny programmato per lavorare a clock interno a 8 Mhz.. (O almeno io così ho selezionato la board e gli ho fatto Burn Bootloader).. Ho caricato gli sketch di prova con i vari blink e non ci sono problemi... Sto cercando di buttarci su una seriale emulata ma penso di sbagliare qualcosa a livello software.. Ho l'IDE 1.0.1 e il codice è questo: #include <SoftwareSerial.h> SoftwareSerial mySerial(0, 1); // RX, TX void setup() { mySerial.begin(9600); }
void loop() { if (mySerial.available()){ mySerial.write((char)mySerial.read()); } }
Solo che mi restituisce caratteri strani sul monitor... Se invio numeri singoli me li restituisce uguale "1, 2, 3 ecc" già se invio tipo "12" mi torna indietro un carattere.. Con le lettere uguale è ancora peggio.. Dove sbaglio? <.< Che sia il seriale -> usb che fa pietà?
|
|
|
|
|
Logged
|
|
|
|
|
Fidenza (PR)
Offline
Full Member
Karma: 3
Posts: 136
Arduino rocks
|
 |
« Reply #1 on: December 25, 2012, 08:26:32 am » |
Prova a fare myserial.print((char)... Invece che write
E poi metti i pin della seriale non sulla 0 e l'1..sono già occupati probabilmente x la seriale fisica
|
|
|
|
|
Logged
|
|
|
|
|
Fidenza, Parma
Offline
God Member
Karma: 7
Posts: 736
Arduino rocks
|
 |
« Reply #2 on: December 25, 2012, 08:39:42 am » |
Provo subito... Fidentino?? Aiaaa lo sapevo che avevo il vicino di casa patito d'arduini!! http://www.guglio.net/ArduMAP
|
|
|
|
|
Logged
|
|
|
|
|
Parma
Offline
Edison Member
Karma: 10
Posts: 2104
|
 |
« Reply #3 on: December 25, 2012, 01:09:05 pm » |
Ciao magari metti uno sleep di qualche ms, alcune seriali voglio due bit di stop (linea ad 1 logico) e scrivere a manetta i dati potrebbe creare qualche casino..
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16431
Don't know what I do
|
 |
« Reply #4 on: December 25, 2012, 05:20:23 pm » |
Intanto che Attiny stai usando? Che versione del core Tiny usi? Ricordati che se non hai l'ultima 0100-0015, la SoftwareSerial non funziona correttamente con questi chip.
Poi che sketch usi per i test?
|
|
|
|
|
Logged
|
|
|
|
|
Fidenza (PR)
Offline
Full Member
Karma: 3
Posts: 136
Arduino rocks
|
 |
« Reply #5 on: December 25, 2012, 06:41:43 pm » |
Parmigiano importato a Fidenza:-) :-) si potrebbe fare una reunion a Parma su Arduino:-) :-) :-) workshop?? :-)
|
|
|
|
|
Logged
|
|
|
|
|
Cagliari
Offline
Faraday Member
Karma: 49
Posts: 3000
|
 |
« Reply #6 on: December 26, 2012, 05:15:29 pm » |
La 1.0.1 ha un bug nel serial monitor. Usa la 1.0.3 oppure la lingua inglese.
|
|
|
|
|
Logged
|
IDE 1.0.4 - Arduino UNO R3 - Ethernet Shield R3 - DCF77 Module - Adafruit Data Loggin Shield - LCD 16x2 RGB positive backlight - i2c LCD backpack - RTC 1307 Board - Saleae Compatibile Logic Analyzer 8ch 24Mhz - ATtiny2313 ProtoBoard - Xino Board - ATtiny 4313 - Arduino 2009 - Arduino USB Serial Ligth - DS18B20 - LM35DZ - ShiftRegister - TL431 - ATtiny 85 Ultimi acquisti: CodeBender: http://codebender.cc/register/?referrer=PaoloP
|
|
|
|
Lamezia Terme
Offline
Shannon Member
Karma: 386
Posts: 10228
Le domande di chi vuol imparare rappresentano la sua sete di sapere
|
 |
« Reply #7 on: December 26, 2012, 05:20:35 pm » |
Non ho ben capito come hai settato i fuse dell'attiny per lavorare a 8MHz; a prescindere dai valori che non dici, diamo per scontato che siano corretti, tu scrivi almeno io così ho selezionato la board e gli ho fatto Burn Bootloader ; che io sappia con i tiny il metodo del burn bootloader non setta i fuse, temo dovrai ricorrere ad AVRDUDE...
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16431
Don't know what I do
|
 |
« Reply #8 on: December 26, 2012, 05:54:03 pm » |
Non ho ben capito come hai settato i fuse dell'attiny per lavorare a 8MHz; a prescindere dai valori che non dici, diamo per scontato che siano corretti, tu scrivi almeno io così ho selezionato la board e gli ho fatto Burn Bootloader ; che io sappia con i tiny il metodo del burn bootloader non setta i fuse, temo dovrai ricorrere ad AVRDUDE... Forse le ultime versioni del core Tiny hanno risolto questo problema. Dovrei fare dei test, perché sinceramente non ho mai fatto uso della scrittura del finto bootloader per programmare i fuse dei Tiny, almeno non nell'ultimo anno e mezzo.
|
|
|
|
|
Logged
|
|
|
|
|
Lamezia Terme
Offline
Shannon Member
Karma: 386
Posts: 10228
Le domande di chi vuol imparare rappresentano la sua sete di sapere
|
 |
« Reply #9 on: December 27, 2012, 04:08:54 am » |
eh sì, una prova va fatta, su questo dobbiamo aggiornarci, se funzionasse sarebbe cosa ottima....
|
|
|
|
|
Logged
|
|
|
|
|
Fidenza, Parma
Offline
God Member
Karma: 7
Posts: 736
Arduino rocks
|
 |
« Reply #10 on: December 27, 2012, 08:23:37 am » |
Ciao ragazzi, scusatemi ma fra parenti ed organizzaz x l'ultimo penso di non saltarci fuori!! Anche a me sembrava strano di poter settare i fuse semplicemente con "burn bootloader", c'è modo di sapere se la scheda sta lavorando a 8 o a 1 Mhz con uno sketch? Penso poi riproverò tutto con la vecchia 0023, che è quella che di solito uso anche per programmare l'Arduino visto che la 1.0.1 non mi fa cambiare il baudrate, poi con questi continui cambi di librerie e di funzioni mi viene il nervoso perchè non faccio altro che riadattare vecchi sketch che con la 1.0.1 non vanno.
|
|
|
|
|
Logged
|
|
|
|
|
Cagliari
Offline
Faraday Member
Karma: 49
Posts: 3000
|
 |
« Reply #11 on: December 27, 2012, 08:53:05 am » |
Guglio passa alla 1.0.3. 
|
|
|
|
|
Logged
|
IDE 1.0.4 - Arduino UNO R3 - Ethernet Shield R3 - DCF77 Module - Adafruit Data Loggin Shield - LCD 16x2 RGB positive backlight - i2c LCD backpack - RTC 1307 Board - Saleae Compatibile Logic Analyzer 8ch 24Mhz - ATtiny2313 ProtoBoard - Xino Board - ATtiny 4313 - Arduino 2009 - Arduino USB Serial Ligth - DS18B20 - LM35DZ - ShiftRegister - TL431 - ATtiny 85 Ultimi acquisti: CodeBender: http://codebender.cc/register/?referrer=PaoloP
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16431
Don't know what I do
|
 |
« Reply #12 on: December 27, 2012, 12:20:35 pm » |
Guglio:
1) l'IDE 1.0.1 ha un bug ormai noto sul menu a tendina del monitor seriale dove selezioni la relativa velocità. Tale bug è stato risolto con le versioni successive. Continuare ad usare la versione 002x va bene se devi adoperare librerie abbandonate e/o obsolete ma se usi librerie sviluppate attivamente, la scelta migliore è l'ultima versione dell'IDE. 2) la procedura che avvii quando scegli "Strumenti/Scrivi bootloader" nell'IDE è in pratica una cancellatura totale del microcontrollore ed un suo settaggio completo. Con quella voce viene istruito avrdude non solo a flashare il bootloader ma anche, prima di questa scrittura, ad impostare i fuse del microcontrollore affinché poi lavori come è stato stabilito nel file boards.txt. Con il core Tiny viene usato un finto bootloader: si tratta in pratica di un file vuoto che non scrive niente sulla flash: viene usato solo per sfruttare il comportamento appena descritto dell'IDE. C'è un però: fino alla versione 002x del core Tiny tale operazione non funzionava, nel senso che non si programmava un bel nulla, quindi né bootloader (finto, ripeto) né, tantomeno, i fuse. 3) per sapere se un micro va ad 8 o ad 1 MHz hai 3 modi: 3.1) se il micro è nuovo, arrivato direttamente dalla fabbrica Atmel, va sicuramente ad 1 MHz: questa è la frequenza di fabbrica di tutti i micro Atmega e Attiny 3.2) se hai un micro già programmato puoi usare avrdude per leggere il valore dei fuse e sapere come è impostato il micro, per sapere cioè se usa un clock esterno o l'oscillatore interno 3.3) flashi il Blink compilato ad 1 MHz: se lampeggia correttamente a 1 Hz il micro va ad 1 MHz, se lo vedi lampeggiare più velocemente, il chip è settato a 8 MHz.
|
|
|
|
|
Logged
|
|
|
|
|
Vicenza, Italy
Offline
God Member
Karma: 4
Posts: 829
ƎR like no other.
|
 |
« Reply #13 on: December 28, 2012, 12:02:53 pm » |
Non ho ben capito come hai settato i fuse dell'attiny per lavorare a 8MHz; a prescindere dai valori che non dici, diamo per scontato che siano corretti, tu scrivi almeno io così ho selezionato la board e gli ho fatto Burn Bootloader ; che io sappia con i tiny il metodo del burn bootloader non setta i fuse, temo dovrai ricorrere ad AVRDUDE... Forse le ultime versioni del core Tiny hanno risolto questo problema. Dovrei fare dei test, perché sinceramente non ho mai fatto uso della scrittura del finto bootloader per programmare i fuse dei Tiny, almeno non nell'ultimo anno e mezzo. se funzionasse questa cosa sarebbe molto interessante e comoda soprattutto 
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16431
Don't know what I do
|
 |
« Reply #14 on: December 28, 2012, 12:41:34 pm » |
Confermo che con l'IDE 1.0.3 ed il core Tiny 0100-0015 la scrittura del finto bootloader sui chip Tiny cambia il valore dei fuse del micro. Provato or ora con un Tiny84.
|
|
|
|
|
Logged
|
|
|
|
|
|