|
Autore |
Messaggio |
opzioni |
Alan_Ford
postato il: 26.08.2019, alle ore 22:57 |
picmicro675: Io sono affezionato al Proton Basic
Eh ma è a pagamento. Voglio creare un progetto usando strumenti open source. |
|
picmicro675
postato il: 27.08.2019, alle ore 06:23 |
Sì lo è per certi tipi di micro. Come il mikrobasic.
http://www.protonbasic.co.uk/content.php/141-Proton-Developm…
Guarda bene, da metà pagina in giù, la lista di micro che non serve la licenza.
Comunque costa quasi la metà del prodotto mikroE.99 £ (108€) contro il 249€ di mikeE.
Se vuoi usare FOSS, allora gcBasic e/o sdcc.
Del resto il C è appena diverso dal basic per la sua sintassi. Beh! nella formula semplificata, lasciando stare casi come Struct, Union e puntatori.
Anno nuovo, forum nuovo.
Mi sa che lascio. |
|
Alan_Ford
postato il: 27.08.2019, alle ore 09:41 |
Non conoscevo SDCC, potrebbe essere una buona occasione per imparare il C. La nota negativa è che non supporta i pic 24F; mi sa che per quelli (o quello, visto che ho solo un PIC24FJ64GB002) servono soluzioni commerciali. Ma per ora non è importante. |
|
agric
postato il: 27.08.2019, alle ore 09:49 |
se scarichi il file INTERRUPT.rar da questo mio articolo
http://www.grix.it/viewer.php?page=5692
ci trovi dentro i relativi file.h anche per lcd dove puoi modificare la configurazione delle porte per gestire lcd come ti pare
meglio essere un granello di pepe che una cacca d'asino |
|
Alan_Ford
postato il: 27.08.2019, alle ore 11:02 |
Grazie! |
|
Alan_Ford
postato il: 29.08.2019, alle ore 10:40 |
Confermo che MikroBasic ha dei problemi. Questo codice
program prova
const IMPOSTAZIONE = 10
dim i as Integer
dim k as Byte
sub procedure Avvio
sound_play(128, 784)
end sub
sub procedure Normale
PortA.1 = 0
PortA.3 = 1
PortA.2 = 0
end sub
sub procedure Allarme
PortA.1 = 1
PortA.3 = 0
Delay_ms(5000)
PortA.2 = 1
end sub
main:
trisa = 0
trisb = %11000000
porta = 0 ' azzera PORTA
portb = 0 ' azzera PORTB
sound_init(PORTA, 0)
Avvio
While true
if (PortB.6 = 1) then
k = 19
end if
if (PortB.7 = 1) then
k = 0
end if
if k > IMPOSTAZIONE then
Allarme
else
Normale
end if
wend
end.
secondo il programma occupa l'95% della memoria ROM.
L'equivalente il Great Cow Basic solo il 25.68%
#chip 16F84A, 8
#define IMPOSTAZIONE 10
#define SoundOut PortA.0 'predispone RA1 a riprodurre suoni
dir PortA b'00000'
dir PortB b'11000000'
PortA = b'00000'
PortB = b'00000000'
dim i as Integer
dim k as Byte
k = 0
Avvio
Main:
if (PortB.6 On) then
k = 19
end if
if (PortB.7 On) then
k = 0
end if
if k > IMPOSTAZIONE then
Allarme
else
Normale
end if
goto Main
sub Avvio
Tone 784, 100
end sub
sub Allarme
set PortA.1 ON
set PortA.3 OFF
wait 5 s
set PortA.2 ON
end sub
sub Normale
set PortA.1 OFF
set PortA.3 ON
set PortA.2 OFF
end sub
|
|
Alan_Ford
postato il: 29.08.2019, alle ore 10:40 |
Correzione: 85%, non 95% |
|
MB54
postato il: 29.08.2019, alle ore 11:25 |
la libreria SOUND di mBasik usa purtroppo operazioni a 32B: metà delle risorse se ne vanno nella divisione. |
|
Alan_Ford
postato il: 29.08.2019, alle ore 11:58 |
Ecco perché non posso affiancarla alla libreria di gestione del display. Almeno non con quel modello di pic. Resto con Great Cow Basic anche se questa variante del basic è un po' ostica. |
|
MB54
postato il: 29.08.2019, alle ore 12:10 |
Alan_Ford: .. Resto con Great Cow Basic ..
Ho dato una rapida occhiata e lo sto scaricando: mi pare molto interessante, soprattutto per il risparmio di risorse che tu hai bene evidenziato. Inoltre consente di scrivere codice in Basic per gli AVR e gli Attiny e soprattutto per i Pic10... |
|
|