Ola,
Ik ben nu al een tijdje aan het zoeken, maar ik kom er niet goed uit.
Ik programmeer in PicBasic en ik wil het volgende
cASE = 1 : ewrite 16, [tijd_wijziging]
cASE = 2 : ewrite 36, [tijd_wijziging] cASE = 3 : ewrite 56, [tijd_wijziging] cASE = 4 : ewrite 76, [tijd_wijziging] cASE = 5 : ewrite 96, [tijd_wijziging] cASE = 6 : ewrite 156, [tijd_wijziging]
Nu wil ik dit niet naar de interne Eprom schrijven, maar naar een externe met bijvoorbeeld i2c of spi.
Kan iemand mij nu een voorbeeld geven hoe ik dit moet doen, want ik begrijp niet hoe ik de eprom nu moet aansluiten en welke commando's ik zou moeten/kunnen ingeven.
Verderop in mijn progje haal ik de tijden overigens ook weer op.
Alvast THnx!
M.D.P
Jeroen Boere
IF you can't convince them, then confuse them!
kun je de gehele code posten? (wat je al hebt eventueel dus) nu is het maar gokken natuurlijk.
en post je code tussen de code tags, zie hiervoor de faq:
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Ik gebruik een 16F877A type.
De code is erg groot (ca 1200 regels), ik denk niet dat je er vrolijk van wordt als ik de code post.
Waar het om gaat is dat ik nu intern naar eprom schrijf, maar ik kom simpelweg ruimte tekort in mijn pic.
Het gaat er eigenlijk om dat ik wil weten hoe ik bijvoorbeeld het getal "56" naar een extern eprom kan schrijven. (instructie + pinbezetting...)
Maar volgens mij is dat minder eenvoudig dan ik denk dat het is....
Zou dit geen leuk tutorial-tje zijn voor jouw frits, kan je je site weer uitbreiden (-; (overigens mijn complimenten voor de site!)
[Bericht gewijzigd door MichielP op ]
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Mag ik weten wat je dan allemaal (wel niet) in de EEPROM wilt schrijven?
Wat zijn dat voor waarden?
Waar gaat het precies om?
Het gaat om een machine die ik aan het ontwikkelen ben.
De operator wordt de allereerste keer gevraagd een aantal tijden in te voeren, 8 verschillende applicaties, 7 tijden per applicatie.
Deze schrijf ik allemaal naar (internal) eprom. Op het moment dat er weer wordt gestart, wordt er een applicatie gekozen en haal ik de bijbehorende tijden op.
Mocht het nodig zijn, kan de operator deze tijden ook wijzigen. Deze gewijzigde tijden schrijf ik dan (ewrite) weer naar de eprom. Het wijzigen van de tijden zal niet heel vaak gebeuren, zeg z'on 5 keer per maand.
dat is het dus zo een beetje.....
De tijden zijn overigens in milliseconde, minimaal i milliseconde, maximaal 10 seconde.
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
8 x 7 = 56.
De PIC16F877 heeft intern EEPROM geheugen van 256 byte waarden (128 WORD waarden, 64 DWORD waarden).
Moet dus met de interne EEPROM van de PIC willen.
Lees de cursus over de EEPROM eens door: www.picbasic.nl/beginners9_nl.htm
Ik heb je cursus al eerder doorgelezen!
Ik heb ook het vermoeden dat ik een denkfout maak. Als ik mijn code door proton laat compilen staat er onder in beeld het volgende;
8162 programm words used from a possible 8192 (99,63%)
115 variable bytes used from a possible 368 (31,25%)
ik dacht dit te kunnen verminderen door naar extern eprom te schrijven, maar dat is onzin. Het progje is gewoon te groot voor deze pic (neem ik aan...???)
Zucht, andere pic zoeken...
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Poeh, of je hebt inderdaad een groot programma geschreven, of je hebt het heel "onhandig" geschreven waardoor veel delen van een programma hetzelfde zijn en daardoor groot is geworden.
Onderandere met GOSUB kun je je code meer structureren.
Maar ik weet het niet echt, want ik ken je programma niet.
Het is inderdaad een wat uit de hand gelopen programma....
Ik ga maar opzoek naar een andere pic, hopelijk dat dat beter gaat.
Op zich heb je waarschijnlijk gelijk wat betreft het "onhandig" schrijven, kom eigenlijk net om de hoek kijken met programmeren.
Ik wil het progje liever niet online posten, omdat het uiteindelijk toch in een machine komt en ik wel "zuinig" wil blijven op mijn code. Was al met al toch z'on 3 maanden werk en om dat nu in dit forum on-line te zetten....lastig
In ieder geval weer een stapje verder, bedankt frits!!
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Misschien de 18F452?
Moet je je programma wel iets aanpassen, met name de fuse instellingen, dat gaat bij de 18F anders dan bij 16F PIC's.
Het moet inderdaad de 18F452 worden, ivm beperking compiler. Heb hier nog nooit mee gewerkt, duik de datasheets dus maar weer in.
Bedankt voor de tip over de config instellingen, ga dit zorgvuldig bekijken.
Mocht je het leuk vinden om te zien hoe ik van "nog nooit geprogrammeerd" tot deze code ben gekomen, met name dankzij je online cursus, wil ik hem best naar je toe sturen. Laat maar weten
Ik duik de datasheets in
Lucky Luke
Eluke.nl | handgetypt | I'm a poor, lonesome cowboy, with a long, long way to go.
kijk eens naar het i2cout commando? en i2c start etc. in de helpfunctie van picbasic.
in de datasheet van i2c eeproms staat ook al een hoop info.
met die 2 bronnen moet het je lukken