Proton IDE Lite ikm Pic 10F200


Ik ben nieuw hierin, als ik op de datasheet van de pic kijk zie ik poort 1 tm 8, welke is dan RD0?

En weet u hoe dat zit met die delays.h die niet herkend wordt?

Op 21 december 2013 17:48:44 schreef Martin83: En waarom moet ik eigenlijk die pic.h includen? En moet ik ook 10F200.h includen op dezelfde manier.

Bij een functieoproep zoals bv Delay10KTCYx(10);doe je eigenlijk niets anders dan code oproepen welke iemand ooit voor jou geprogrammeerd heeft. Alhoewel je die code niet in detail hoeft te kennen, moet deze wel mee in de PIC. De include file bevat deze code en/of de referenties naar deze code.

Op 21 december 2013 18:45:18 schreef Martin83:
Over delays.h zeg hij: no such file or directory

Een compiler verwacht dat de include files in een bepaalde folder zitten en heeft hiervoor dan ook een instelling (include directories) waar meerdere folders kunnen worden ingegeven, zoals Rene al zei.

Dus;
- Ofwel is die file gewoon niet aanwezig op je PC.
- Ofwel zit deze in een folder welke niet in je instelling aanwezig is.

Een filesearch in Windows geeft uitsluitsel waar en of Setup deze file heeft geinstalleerd.

Op 21 december 2013 19:50:12 schreef Martin83:
Daarnaast begrijp ik ook niet helemaal wat dit programmaatje doet.

Zonder een boek of andere bron over C programmering en eentje over het Arduino platform grondig door te nemen vrees ik dat je nog heel wat frustraties voor de boeg hebt.

Groetjes

Ik zou de MPLAB® XC8 Getting Started Guide lezen, staat in de program files folder XC8/docs, staat precies uitgelegd welke stappen waarvoor nodig zijn. Als je deze doorloopt, snap je ook waar het mis gaat.

In het voorbeeld is het poort RD0. Als je de 10F200 bedoelt, die heeft maar 1 poort: GPIO. Dit moet dus in de code aangepast worden.

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Pff, het valt allemaal niet mee. Ik heb die delays.h naar een andere folder verplaatst waardoor hij hem weel vind, maar wederom errors:

undefined identifier "TRISD"
undefined identifier "LATDbits"
en twee keer een error struct/union required

YokoTsuno: heb je een aanrader voor een goed boek?

Op zich begrijp ik de code wel, maar alleen de pinconfiguratie begrijp ik niet, dat bedoel ik. Dus welke pin toggle ik nou met deze code? Ik heb wat moeite met de stap tussen de soft en de hardware.

Maar ik ben blij dat ik hulp van jullie krijg.

Zoals gezegd heeft een 10F200 geen latd, die heeft maar een poort. Je moet LATD door GPIO vervangen. Voor juiste benamingen zie de P10F200.h file.

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Op 21 december 2013 23:19:14 schreef Martin83:
Pff, het valt allemaal niet mee. Ik heb die delays.h naar een andere folder verplaatst waardoor hij hem weel vind, maar wederom errors:

Een slechte gewoonte mijns inziens. delay.h is een systeemheader.
- Bij upgrades of herinstallatie heb je mogelijk al meteen 2 verschillende headers in je systeem.
- Als je dit vaker doet bij meerdere projecten zit je zo met meerdere kopieën van die file.
- Bij een *.h hoort een passende *.asm file (of *.lib/dll voor systemen met een OS).

Hiermee gaan "knoeien" geeft vaak aanleiding tot bugs.

heb je een aanrader voor een goed boek

Dit hangt van je leesstijl af maar klik eens hier

Groetjes

Op 22 december 2013 01:07:06 schreef YokoTsuno:
[...] Een slechte gewoonte mijns inziens. delay.h is een systeemheader.

Ik weet niet wat ik gisteren verkeerd deed, maar nu werkt dit wel zoals ik het zou verwachten. Delays staat gewoon in plib en het includen werkt nu wel.

Over die boeken is dus al genoeg geschreven, ik ga er eens een uitzoeken en lezen, bedankt.

Op 22 december 2013 00:12:02 schreef Arco:
Zoals gezegd heeft een 10F200 geen latd, die heeft maar een poort. Je moet LATD door GPIO vervangen. Voor juiste benamingen zie de P10F200.h file.

Ik heb nu LATD vervangen door GPIO. Dat lijkt goed te gaan. Ik heb dan iets staan in de trend van GPIO.GP0. Maar wat doet GP0? En wat doet GP1, GP2 en GP3?

Maar die TRISD blijft een error geven. Ik kan uiteraard de 10F200.h file inkijken, maar waar ben ik dan naar op zoek?

TRISD moet je ook vervangen door TRSIO; er is geen D poort.
GP0 is pin GP0, GP1 is pin GP1, dat lijkt me toch wel duidelijk?
Lees de datasheet ook eens, dan had je dat allemaal al geweten, zonder datasheet kom je niet ver...

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Ja, dat leek mij al, maar u schreef eerder dat de 10F200 maar 1 poort had, vandaar de verwarring.

Ik heb inmiddels mijn programmaatje zo staan dat hij succesvol compiled. Vanavond maar eens kijken of ik mijn ledje kan laten knipperen.

Dank jullie wel!

Alle i/o pinnen die intern in 1 register zitten noemt men een poort. Bij de 10F200 zijn dat 4 i/o pinnen, maar dat kan varieren per controller.
Bij een 16Fxxx en 18Fxxx meestal 8 bits per poort, bij een 24Fxxx zijn dat er 16. Maar dat staat allemaal uitgebreid in de datasheet(s)

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Okay, dus een poort en een pin zijn twee verschillende zaken. Dan is dat ook weer duidelijk.

Ook het programmeren gaat niet zonder slag of stoot. Bij het openen van de pickit2 programma krijg ik de foutmelding: pickit2 vpp voltage error. Check target & retry operation.

Geen idee wat ik daarmee moet?

[Bericht gewijzigd door Henry S. op 23 december 2013 21:50:17 (54%)]

Krijg je die melding met verder niets op de Pickit2 aangesloten? (Of wat hangt er anders aan?)

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Ik krijg de foutmelding alleen als de pic10f200 erin zit.

Dan zit er waarschijnlijk wat verkeerd aangesloten. Of er zit wat aan de MCLR/CLOCK/DATA pinnen wat er niet aan hoort.
Ook een te grote elco over Vdd en Vss ( > 220µF) geeft problemen.

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Maar ik gebruik gewoon de pickit2 met bijgeleverd printplaatje waar ik mn pic in steek.

Welk 'printplaatje' bedoel je? (Ik ken geen 10F demoboards bij de Pickit2)

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Maar wie zegt dat op iedere PIC de programmeer pinnen op dezelfde locatie zit?
De PICkit2 programmer kan hem wel programmeren, maar het development board wat er is bijgeleverd is niet compatible met de PIC10F200. Je zult de ICSP pinnen dus even zelf goed moeten verbinden met de PIC10F200.

LED addicted... Fijnmalen en snuiven maar!! :P

De Pickit2 is compatible met de 10Fxxx controllers, maar het low pin count demo board (20 pins) is dat NIET. Kunnen alleen 12/16F controllers op met 8/14/20 pins.
De 10Fxxx familie heeft een andere pin-out.

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Okay, ik moet dus op een of andere manier mijn pickit via mn breadboard aan mn pic koppelen?

Hier staat voor de diverse PIC's wat/waar aan moet worden aangesloten: http://picprojects.org.uk/projects/ICSP/icsp-info.pdf

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Ik heb alles aangesloten zoals omschreven (zonder extra componenten) maar nu krijg ik bij het programmeren de waarschuwing: invalid OSCCAL value detected. Als ik die gewoon weg klik, loopt het programmeren mis met de foutmelding: programming failed at program memory address 0x000000

Heb je wel het goede type PIC ingesteld? (De stand-alone interface van de Pickit2 doet geen auto-detect voor de 10Fxxx voor zover ik weet)

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Thanks allen. Ik had 1 keer de juiste pic ingesteld, maar dat moet dus elke keer opnieuw.

Maargoed, ik heb mn eerste knipperende ledje!