Page 1 of 1

Primo PRG Bascom-Arduino 2560

PostPosted: 30 Mar 2014, 14:01
by suibaf
Ciao,
sto cercando di usare Arduino 2560R3 con bascom AVR. Come dire stò testando il funzionamento....hello world!
Code: Select all
'-------------------------------------------------------------------------------
'Arduino 2560R3
'-------------------------------------------------------------------------------
$regfile = "m2560def.dat"                                   ' used micro
$crystal = 16000000                                         ' used xtal
$hwstack = 40
$swstack = 16
$framesize = 32
$baud = 115200
'-------------------------------------------------------------------------------
'Uso la PortE output
Config Porte = Output

'Pin Su cui è collegato il led
Set Porte.3


Ma apparte che il mio led non si accende, quando programmo il chip mi compare la seguente finestra:

https://dl.dropboxusercontent.com/u/15219757/im1.jpg

Da notare, sopra, che non identifica il chip e sotto non trova un file EEP.

La comunicazione però c'è, l'ho testata, anche perchè se faccio: chip e poi identify mi compare la seguente schermata:

https://dl.dropboxusercontent.com/u/15219757/im2.jpg

Avete qualche suggerimento da darmi? Grazie

Re: Primo PRG Bascom-Arduino 2560

PostPosted: 30 Mar 2014, 15:35
by suibaf
OK, funziona:
ecco le impostazioni corrette che ho trovato online anche se non ho capito quale era il problema:

https://dl.dropboxusercontent.com/u/15219757/im3.jpg

Ho spuntato i primi quattro ceck in alto.

Se qualcuno vuole chiarire mi fà piacere.

Saluti

Re: Primo PRG Bascom-Arduino 2560

PostPosted: 30 Mar 2014, 18:54
by Fagos
bene suibaf
allora pronti a partire!!

ps. se non crei un file eep è ovvio che il programmatore non lo trova e non può programmare la eeprom del micro.
cmq, questo è solo un warning, il programma girerà ugualmente :)

Re: Primo PRG Bascom-Arduino 2560

PostPosted: 30 Mar 2014, 22:32
by suibaf
E si partiamo!!

Il 2560 ha 4 Uart. La Uart0 viene usata per la comunicazione della scheda Arduino con la usb.
Ho uno shield RS485 che utilizza la Uart1 (tx1,rx1). Quindi in fase di configurazione ho scritto:

Code: Select all
$baud1 = 19200  ' perchè il devise esterno comunica a 19200
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Open "COM1:" For Binary As #1


Com1 dovrebbe andar bene per la Uart1. Nel config non capisco perchè è stata settata la Com1 = Dummy, probabilmente è un nome a piacere, Synchrone = 0 dovrebbe andar bene perchè non ho nessun tipo di sincronisco, ma non capisco neanche Clockpol = 0.......non trovo riferimenti sul manuale. Qualsiasi suggerimento è assolutamente ben accetto.

Grazie

Re: Primo PRG Bascom-Arduino 2560

PostPosted: 31 Mar 2014, 14:22
by suibaf
Comunque così funziona:

Code: Select all
'-------------------------------------------------------------------------------
'Arduino 2560R3
'
'
'-------------------------------------------------------------------------------
$regfile = "m2560def.dat"                                   ' used micro
$crystal = 16000000                                         ' used xtal
$hwstack = 40
$swstack = 40
$framesize = 40
'-------------------------------------------------------------------------------


'Uso la PortE output
'Config Porte = Output

'Oppure il singolo bit (in questo caso il pin 3 della Porta E come Uscita)
'1 = Uscita; 0 = Ingresso
Ddrc.0 = 1
Ddre.5 = 1                                                  'LED dello Shield RS485
Ddre.3 = 0                                                  'Pin configurato come ingresso

Led_shield Alias Porte.5
Pls_shiled Alias Pine.3

Config Com2 = 19200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0

'try the second hardware UART

Open "Com2:" For Random As #2


'//////////////////////////// INIZIO PROGRAMMA ////////////////////////////////////////

Do

'Pin Su cui è collegato il led
Set Portc.0
Waitms 100
Reset Portc.0
Waitms 100

If Pls_shiled = 1 Then

   Led_shield = 1
   Print #2 , "www.delucagiovanni.com"
   Print
   Print #2 , "Suibaf"

   Else

   Led_shield = 0

End If



Loop
                                                         'end program

Re: Primo PRG Bascom-Arduino 2560

PostPosted: 31 Mar 2014, 16:40
by deluca
benissimo suibaf!
intanto grazie per avermi fatto apparire sulla tua seriale :)

il clockpol=0 si referisce proprio alla polarità del livello logico di TXD,
al fatto che il pin relativo a TXD sta normalmente a 1 e non appena inizia la trasmissione passa a zero.
Se lo setti=1 inverti proprio questa condizione. Solo pochi dispositivi di norma utilizzano la modalità (=1)

Non ti dimenticare di aggiungere END dopo LOOP nel ciclo main.

Re: Primo PRG Bascom-Arduino 2560

PostPosted: 31 Mar 2014, 22:17
by suibaf
Grazie,

cosa succede se non metto end?

Re: Primo PRG Bascom-Arduino 2560

PostPosted: 01 Apr 2014, 12:58
by deluca
Non ci sono riscontri particolari sulla presenza o meno di END dopo il Loop del main.
Tuttavia, inserirlo, evita salti senza controllo o incondizionati al ritorno da interrupts.
Il compilatore quando incontra "END" inserisce una call alla medesima locazione.

Re: Primo PRG Bascom-Arduino 2560

PostPosted: 01 Apr 2014, 21:04
by js-bascom
una call alla medesima locazione.
Vuoi dire un JUMP? se no "la stack" (??) sarebbe continuamente cambiata con risultati disastrosi.

hmmm dovrebbe esistere un vocabolario in Italiano che potrei consultare per veder come si chiamano certe cose, stack e' maschile o femmile? bohhh :mrgreen:

Re: Primo PRG Bascom-Arduino 2560

PostPosted: 01 Apr 2014, 21:09
by Leonardo
"stack" è maschile in italiano anche se è una parola prettamente inglese, la traduzione sarebbe "pila" (intesa come catasta di oggetti) ma non viene mai utilizzata a favore dell'inglesismo

Re: Primo PRG Bascom-Arduino 2560

PostPosted: 01 Apr 2014, 21:12
by deluca
ops, js-bascom, grazie per avermi corretto !!
cmq, volevo dire proprio JUMP e non CALL.

chiamare in continuazione lo stesso CALL manderebbe lo stack (noi lo chiamiamo così) in TILT(come diciamo noi) :D