LCD-bibliotheek

5 replies [Last post]
jdemeyer
User offline. Last seen 2 days 17 hours ago. Offline
Member since: 2009-10-27

Dag iedereen,

zoals vermeld in één van mijn vorige posts was ik bezig met het schrijven van een LCD-bibliotheek die gebruik maakt van interrupts in plaats van delays. Aangezien ik echter onder Linux programmeer met cpik, zou het kunnen dat de code niet helemaal compatibel is. Dus zou iemand van jullie die Windows gebruikt eens mijn code willen proberen te compileren en kijken waar de problemen zitten?

jdemeyer
User offline. Last seen 2 days 17 hours ago. Offline
Member since: 2009-10-27

Ziehier de files zoals ze bij mij met cpik werken.

AttachmentSize
testlcd.c 2.39 KB
lcdint.c 8.86 KB
lcdint.h 5.34 KB
Francis
User offline. Last seen 1 week 3 days ago. Offline
Member since: 2009-04-16

Dit is fantastisch. We zullen alleszins een tips&tricks pagina aanmaken waarin we uitleggen wat je nodig hebt om het Dwengo-bord te gebruiken onder linux. Ik veronderstel dat jij gebruik maakt van PiKdev in combinatie met cpik zoals op http://pikdev.free.fr/ External link
Of gebruik je nog andere zaken?

Ik zal de code ook eens nazien onder mplab onder windows.

jdemeyer
User offline. Last seen 2 days 17 hours ago. Offline
Member since: 2009-10-27

Ik gebruik niet echt pikdev, alleen maar cpik (de C compiler). Verder gpasm als assembler en pk2cmd van Microchip als programmer.

jdemeyer
User offline. Last seen 2 days 17 hours ago. Offline
Member since: 2009-10-27

Het belangrijkste "probleem" met cpik is dat de C-code niet compatibel is met die van Microchip. Bijvoorbeeld het ingeven van configuratiebits is verschillend. Ook het instellen van individuele bits in registers is anders.

Microchip: INTCON.TMR0IE = 1;
cpik: BIT_1(INTCON, TMR0IE);

Michiel
User offline. Last seen 1 week 4 days ago. Offline
Member since: 2009-04-17

Dit is niet echt een probleem, het is wel meer werk om de code unverseel te schrijven. Microchip schrijft typisch voorbeeldcode die zowel voor hitech c als voor de c18 compiler geschikt is. Hiertoe doen ze in het begin eerst enkele naamdefinities van poorten en registernamen en gebruiken ze verder in het programma enkel deze namen. De definities worden in het begin gekozen aan de hand van de ingestelde compiler. Deze kan automatisch gedetecteerd worden a.d.h.v. een test of een bepaalde compiler-define werd gedaan, daar elke compiler de naam van die compiler definieert.