Easypic 3 vragen (microC)

fred101

Golden Member

Aangezien ik wat meer digitaal wil leren en al jaren een EasyPic 3 met daarop een Pic16F877A heb liggen (waar ik destijds nog geen ledje mee aankreeg) heb ik die afgestoft. Eigenlijk doet zo'n ding precies wat ik wil. Knopjes, ledjes, display, een berg aansluitingen, kortom een compleet oefenboard.

Het zit ook dichter op de hardware wat voor mij beter werkt. Na twee weken er mee spelen zijn er 3 "problemen"

1e: Als ik hem programmeer lijkt het alsof er iets verandert als hij een tijdje uitstaat. bv een propgrammatje gemaakt wat wat met tekst op de lcd. Dat deed het niet goed, maar toen ik hem later weer aansloot om verder te gaan werkte het ineens wel. Tenminste, nadat ik handmatig met het knopje de boel reset. En dat soort dingen gebeuren vaker.
Doe ik iets fout met het laden/compileren, alles staat op default ?

2e: Ook lcd gerelateerd. Ik ben nu met de ADC bezig maar ik krijg de output niet op de 2x16 display. De gewone teksten wel met LCD_out(). Maar de variabele met de ADC output geeft alleen rare tekens en soms zelfs flarden van de vaste tekst. Soms beginnen alle teksten ineens te verspringen tot ik de boel een paar keer reset. Is mijn Pic kapot ?

3e: en belangrijkste, dat microC wat op de CD staat lijkt een demoversie te zijn want ik kreeg gisteren de melding dat ik te veel geheugen gebruikte voor deze versie (nog geen 5% van het pic geheugen). Dat was toen ik de functie die float in een string omzet wilde gebruiken. Dat programma is een handvol regels.

Zijn er alternatieven waarmee ik dit (beetje antieke) board wel helemaal kan gebruiken ?

www.pa4tim.nl, www.schneiderelectronicsrepair.nl, Reparatie van meet- en calibratie apparatuur, ook maritieme en industriele PCBs
Arco

Special Member

De demo versie heeft een code limit van 4k. Daar zit je al gauw aan als je zaken als de LCD library gebruikt...
Als ik zo de symptomen hoor, lijkt het of de clocksnelheid niet goed staat (even een ledje iedere seconde laten knipperen en je weet het).
Of de watchdog staat aan terwijl die niet aangestuurd wordt.
Ik weet niet hoe oud die compiler is: de oudere hadden maar 2k in de demoversie. (je kunt de laatste versie zo downloaden: https://shop.mikroe.com/mikroc-pic )
(zonder licentie werkt 'ie als demo versie)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
fred101

Golden Member

Bedankt Arco, ik heb de nieuwe versie gedownload. Dat is een verbetering want die geeft de regelnummers van de fouten aan. Dat deed die hele oude versie niet.Dat maakt fout zoeken makkelijker. Alleen werkte hier de LCD eerst niet (waarschijnlijk omdat ze van de hardware van de easyPeak 7 uitgaan. Wel raar dat je om zo'n toch best prijzig board echt te gebruiken nog duurdere software moet kopen.

Maar dat was leerzaam, ik weet nu beter hoe het met de aansturing zit. Het lukt me alleen nog niet dat zichtbaar te maken op mijn LA. (zal eens met een scoop kijken)

Maar het rare: poort C en D geven via leds de 10 bits van de ADC weer als lichtbalk. Bij de nieuwe software moest ik dat uitzetten omdat anders de display niks meer deed.

Ik heb een 12 MHz Xtal en de software bleek op 8 te staan.

Daarna werkte het, hier was nog een ADC_Init() functie nodig die de oude niet kent. Maar bij de oude is er LCD_init(&portb) die alles goed zet voor de easypic 3 ipv het hele sbit rijtje wat nu moet.
Toen kon ik de ADC output in een string zetten en op de display. Dat werkte bijna goed. Het lukte me niet als gewoon getal (wat bij de arduino wel werkt. Hij blijft ook af en toe vreemd doen.

Alsof het video ram (als ze dat hebben) de inhoud husselt. Vanmorgen zet ik het ding weer aan en de display probeert alles op regel 1 pos 1 te proppen. Laptop eraan ipv externe voeding maakte geen verschil. Opnieuw flashen maakt niks uit.

Ik denk dat de pic of de display half doods is. De 2X16 display heb ik er zelf destijds nieuw opgezet. De Pic komt uit een sloper. Ik heb ook nog een kleintje (16F84a dacht ik)

Is de 16F877A nog gangbaar of is er een betere of modernere vervanger ?

www.pa4tim.nl, www.schneiderelectronicsrepair.nl, Reparatie van meet- en calibratie apparatuur, ook maritieme en industriele PCBs
Arco

Special Member

De 16F877A is 16 jaar oud, en is al weer lang geleden opgevolgd door de 16F887. En die is al weer geruime tijd door de 16F1939 opgevolgd... ;)
Voor vragen over de combinatie easypic 3 met nieuwe compiler weet misschien iemand op hun forum raad: https://forum.mikroe.com/index.php?sid=c7f5bc20eba233b13c3d0b0a15f7674…

[Bericht gewijzigd door Arco op donderdag 23 november 2017 18:46:52 (38%)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com