Oklarhet vad gäller programmering av mikrokontroller
Oklarhet vad gäller programmering av mikrokontroller
Håller på att kikar på programmering av mikrokontroller med Hitechs kompilatorer. Jag har försökt att kompilera några exempel utan att förstå riktigt vad som händer. Jag bör nämna att jag inte har införskaffat några mikrokontroller än. När jag kompilerar exempelfiler (*.c) frågar den efter chip type: 18C242,18C252......
När jag körde en enkel hello.c fil och valde chip type 18F452 fick jag följande output:
Memory usage Map:
Program ROM $000000 - $000015 - $000016 ( 22) bytes
.......
.......
Program stats:
Total ROM used 1766 bytes 5,4%
Det ser ju ut att vara informativ data men svår att förstå.
När jag testar ett annat ex delay.c frågar den efter chip type, men sen ger den följ. meddelande:
::undefined symbol: (error)
::_main (C:\picrt821.obj) error
exit status=1
(error)
Måste jag skaffa mig en mikrokontroll av samma chip type som i listan för att få det att fungera? Vilka komponenter behöver jag för tex Picc18?
/dani
När jag körde en enkel hello.c fil och valde chip type 18F452 fick jag följande output:
Memory usage Map:
Program ROM $000000 - $000015 - $000016 ( 22) bytes
.......
.......
Program stats:
Total ROM used 1766 bytes 5,4%
Det ser ju ut att vara informativ data men svår att förstå.
När jag testar ett annat ex delay.c frågar den efter chip type, men sen ger den följ. meddelande:
::undefined symbol: (error)
::_main (C:\picrt821.obj) error
exit status=1
(error)
Måste jag skaffa mig en mikrokontroll av samma chip type som i listan för att få det att fungera? Vilka komponenter behöver jag för tex Picc18?
/dani
Är detta första gången du skriver *någonting* för PIC processorer ?
Har du kollat upp Microchips "Line Card" så att du har ett hum om vad det finns för olika PIC:ar ?
Vet du skillnanden på PIC18C... och PIC18F... ?
Vill du lära dig PIC processorer som sådana, eller har du ett specifikt behov av att lära dig Hitech C ? (Bäst lär man sig själva processor architekturen om man börjar med assembler, anser jag. Dessutom är MPLAB (där MPASM ingår) gratis)
Den del av MAP'en som du visar är helt solklar !
hello.c (eller snarare en sektion av hello.c) blev (kompilerad och länkad) 22 bytes, eller (ca) 11 instruktioner.
Den laddas mellan adress $000000 och $000015
Totalt upptar applikationen 5,4% av processorns hela programminne (ca 1.7 Kbyte av totalt 32 Kbyte).
Och, som cyr sa, så är säkert delay.c bara en subrutin, och behöver en "överliggande" main rutin för att fungera.
Sen frågade du : "Vilka komponenter behöver jag för tex Picc18?"
Jag antar att du menar PIC18C ? Glöm "C" processorerna, kör med "F" istället ! "C" betyder OTP (One Time Programmable), inte vad du vill ha just nu...
. "F" är Flash, och kan programmeras om ca 100.000 gånger.
Slutligen, ibalnd går det att välja chip typ lite "på en höft", speciellt med exempelkod. Oftast är dock en viss källkod skriven för en viss processor (eller en mindre grupp av ganska lika processorer som t.ex 18F252 och 18F452).
Har du kollat upp Microchips "Line Card" så att du har ett hum om vad det finns för olika PIC:ar ?
Vet du skillnanden på PIC18C... och PIC18F... ?
Vill du lära dig PIC processorer som sådana, eller har du ett specifikt behov av att lära dig Hitech C ? (Bäst lär man sig själva processor architekturen om man börjar med assembler, anser jag. Dessutom är MPLAB (där MPASM ingår) gratis)
Den del av MAP'en som du visar är helt solklar !

hello.c (eller snarare en sektion av hello.c) blev (kompilerad och länkad) 22 bytes, eller (ca) 11 instruktioner.
Den laddas mellan adress $000000 och $000015
Totalt upptar applikationen 5,4% av processorns hela programminne (ca 1.7 Kbyte av totalt 32 Kbyte).
Och, som cyr sa, så är säkert delay.c bara en subrutin, och behöver en "överliggande" main rutin för att fungera.
Sen frågade du : "Vilka komponenter behöver jag för tex Picc18?"
Jag antar att du menar PIC18C ? Glöm "C" processorerna, kör med "F" istället ! "C" betyder OTP (One Time Programmable), inte vad du vill ha just nu...

Slutligen, ibalnd går det att välja chip typ lite "på en höft", speciellt med exempelkod. Oftast är dock en viss källkod skriven för en viss processor (eller en mindre grupp av ganska lika processorer som t.ex 18F252 och 18F452).
tack för svaren, stämmer!
Ja sodjan det är första gången, helt grön.
När jag ändrade till en mainfunktion fick jag liknande output som för hello.c. En sak jag inte förstår e varför outputen alltid ser likadan ut. För hello.c borde den ha varit "Hello world!"?
Hur får jag tag i Mplab, finns gratisversion? Laddade ner mplabconfig från Hitechs site men den kräver minst mplab 6,5 installerad.
Ja sodjan det är första gången, helt grön.
När jag ändrade till en mainfunktion fick jag liknande output som för hello.c. En sak jag inte förstår e varför outputen alltid ser likadan ut. För hello.c borde den ha varit "Hello world!"?
Hur får jag tag i Mplab, finns gratisversion? Laddade ner mplabconfig från Hitechs site men den kräver minst mplab 6,5 installerad.
Jösses...

MPLAB är en fri utvecklingsmiljö för PIC processorer från Microchip.
Har du varit inne på www.microchip.com överhuvudtaget ??
- Gå till www.microchip.com.
- Kolla under "Development tools".
- Välj "MPLAB IDE Development Environment".
- Ladda ner "MPLAB IDE v7.10 Full Zipped Download"
- Ladda gärna ner "MPASM/MPLINK User's Guide" och "MPLAB® IDE Quick Start Guide".
Installera.
Sedan antar antar jag att du skall "lägga på" mplabconfig på detta, men jag har aldrig kört något från Hitech, så...
Sedan, *nej* ett hello.c program till en *PIC* kommer antagligen INTE att skriva "Hello World" någonstans !! Var förväntade du dig att det skulle "komma ut" ??? Och vad säger dokumentationen till hello.c att det skall hända ? Står det inget i själva C filen ?
Och "outputen" ser antagligen inte alls likadan ut. Jag sätter en hundring på att det blir olika minnesåtgång, symbollistor mm. Jag antar att du antingen menar MAP eller LST filern.


MPLAB är en fri utvecklingsmiljö för PIC processorer från Microchip.
Har du varit inne på www.microchip.com överhuvudtaget ??
- Gå till www.microchip.com.
- Kolla under "Development tools".
- Välj "MPLAB IDE Development Environment".
- Ladda ner "MPLAB IDE v7.10 Full Zipped Download"
- Ladda gärna ner "MPASM/MPLINK User's Guide" och "MPLAB® IDE Quick Start Guide".
Installera.
Sedan antar antar jag att du skall "lägga på" mplabconfig på detta, men jag har aldrig kört något från Hitech, så...
Sedan, *nej* ett hello.c program till en *PIC* kommer antagligen INTE att skriva "Hello World" någonstans !! Var förväntade du dig att det skulle "komma ut" ??? Och vad säger dokumentationen till hello.c att det skall hända ? Står det inget i själva C filen ?
Och "outputen" ser antagligen inte alls likadan ut. Jag sätter en hundring på att det blir olika minnesåtgång, symbollistor mm. Jag antar att du antingen menar MAP eller LST filern.
Visst kan du skicka en sträng till en LCD som är inbyggt i ett utvecklingsverktyg för PIC . Detta utvecklingverktyget klarar uppgiften väl .
[url]http://perso.wanadoo.fr/udev/ .[/url].
Men den klarar bara MPAssambly , PicBasicPro och Jal språket .
[url]http://perso.wanadoo.fr/udev/ .[/url].
Men den klarar bara MPAssambly , PicBasicPro och Jal språket .