Sida 2 av 4
Postat: 5 april 2007, 16:31:42
av Tengil
Du lär dig snabbt assembler om du tittar på andras koder och läser i databladet.

Databladet är en nödvändighet att alltid ha nära till hands för den delen!
Assembler är inte svårt att programmera i. Det är så basic det kan bli. Vad det däremot inte är är effektivt. Att skriva en simpel if-sats kan bli ett många raders långt projekt. Det är heller inte speciellt lätt att läsa assembler eller att hålla reda på vilka variabler som är vad. Jag har innan jag började med PIC'ar för ett par månader sedan, programmerat rätt mycket C++ och även en del med Pascal, PHP och C# och jag måste säga att det inte alls var en så stor övergång som många försöker få det att verka som.
Om du vill snabba upp din produktion finns till exempel en C kompilator som heter CC5X som har en gratis version. Lite begränsingar men inget du kommer att märka av. Inga av PIC kompilatorerna är dock ANSI C utan alla har sina egna lustigheter och konventioner.
Btw. Jag använder en K8076 programmerare från Velleman och den har fungerat felfritt för mig!
Postat: 5 april 2007, 16:50:05
av Icecap
Kopierat från Vellemans sida om K8076: "IMPORTANT. Not compatible with USB to serial (RS232) convertor!" och hos Autema kostar den det samma som en WISP628. Inte svårt att välja rätt programmeringsenhet då! Vilket såklart är WISP628'an.
CC5X kan, i gratisversion, bara ta upp till 16-bitars variabler och 1Kword program. MikroC kan, i gratisversion, klara alla de variabler man vill och köra upp till 2Kword program.
Postat: 5 april 2007, 17:06:58
av cykze
Är det ingen som kör med
SDCC?
Postat: 5 april 2007, 17:12:06
av Micke_s
Klarar SDCC 18 serien än?
16 serien den hade sist jag testade var ett skämt.
Än så länge så har SDCC liten chans jfm hitech:s picc och picc-18.
Postat: 5 april 2007, 17:27:04
av sodjan
> Att skriva en simpel if-sats kan bli ett många raders långt projekt...
Nja, en *simpel* IF blir oftast antingen en BTFSC/BTFSS (ofta handlar det
ju om att kolla en enstaka bit) eller en kombination av en SUBLW/XORLW
med en BTFSC/BTFSS om det handlar om att kolla ett "värde". Mer
komplexa vilkor kan naturligtsvis dra iväg lite...
> Vad det däremot inte är är effektivt...
Det *kan* ta lite mer tid att skriva, emn *resultatet* blir dock ofta effektivt.
Om man inte klantar sig...
> Det är heller inte speciellt lätt [...] att hålla reda på vilka variabler som är vad.
*Det* har inte ett smack med vilket verktyg man använder!
Det går att sätta idiotiska namn på variabler i *alla* språk, det
är helt upp till den som skriver koden...
Postat: 5 april 2007, 18:23:53
av Tengil
> Vad det däremot inte är är effektivt...
Det *kan* ta lite mer tid att skriva, emn *resultatet* blir dock ofta effektivt.
Om man inte klantar sig...
Jag tycker att det är praktiskt att använda en C kompilator (eller annan kompilator för något språk som är mer högnivå än asm) åtminstone under utvecklingen innan allt har börjat fungera. Att göra stora förändringar går då snabbt och man slipper fundera så mycket hur allt egentligen sköts i bakgrunden. När det sen fungerar är det inte speciellt svårt att konvertera och optimera i assembler helt eller delvis med inline assembler.
> Det är heller inte speciellt lätt [...] att hålla reda på vilka variabler som är vad.
*Det* har inte ett smack med vilket verktyg man använder!
Det går att sätta idiotiska namn på variabler i *alla* språk, det
är helt upp till den som skriver koden...
Du missförstod mig. I assembler är variabler konstanter för minnesadresser. Det är lätt hänt att något överlappar eller att minnet används ineffektivt. Med en riktigt kompilator sköts sådant automatiskt och du som programmerare behöver bara hålla koll på namnen.

Postat: 5 april 2007, 18:29:25
av sodjan
> Du missförstod mig. I assembler är variabler konstanter för minnesadresser.
Så långt är det rätt, och det skilljer sig inte från C eller någon annan kompilator.
> Det är lätt hänt att något överlappar...
Fel.
> ...eller att minnet används ineffektivt.
Jag är inte riktigt säker på vad du menar med "ineffektivt",
men med min tolkning (t.ex återanvändning av temp variabler) så
ser jag ingen större skillnad.
> Med en riktigt kompilator sköts sådant automatiskt och du som
> programmerare behöver bara hålla koll på namnen.
Precis som med PIC assembler. Det är helt enkelt ingen större skillnad.
Postat: 5 april 2007, 19:26:07
av MADZerQ
Jag brukar ha lätt för att lära så det kanske inte blir en så skumpig väg
Men ju mer jag funderar på detta med valet av kretsar så känns det som att man lika gärna kan börja lära sig på en modell större PIC. Det verkar ju som att om man kan detta så kan man även programmera den lille också.
Vad skulle ni rekomendera mig att köpa för grundsats med utvecklingskort och PIC, gärna USB eftersom jag inte har någon seriell utgång på min dator.
Håller hårt i plånboken men det kanske finns någon bra sats ändå...
[EDIT]
PICkit 1 starter kit 73-344-28
På elfa, vad tror ni om denna, kan det vara en bra starter...
Postat: 5 april 2007, 19:35:42
av PerCle
Här är ett litet tips för nybörjare på PIC.
http://www.isk.kth.se/kursinfo/6b4059/kursprogvt07.htm
Du kan bl a läsa hur du bygger en egen USB progrmerare och det finns färdiga program att testa med.
Postat: 5 april 2007, 20:26:41
av v-g
MADZerQ:USB till seriell finns på tex clasohlsson. Med den fungerar WISP628 utmärkt. Vellemanen och andra programmerare kan får problem. Mao gör jag som
Icecap och lägger min röst på WISP628.
Den kostar ändå inte mer än den på ELFA och support finns det gott om här. Finns en del nöjda kunder också
Wisp finns
här
OFFT:
Knepigt nog tar man nästan aldrig av den av labbdäcket
Skulle jag måsta flytta PICen var gång den skulle programmeras vore benen utnötta vid detta laget.
Postat: 5 april 2007, 20:40:03
av BoF
Postat: 5 april 2007, 20:54:00
av Landrash
Måste lägga en röst på wisp. Halv oerfaren så hade jag lite frågor men fick snabba svar (15 min var nog den längsta väntetiden

) samt att bygget var intressant och lärorikt.
Postat: 5 april 2007, 20:57:23
av BoF
Postat: 5 april 2007, 21:01:26
av MADZerQ
Ok, nu förstår jag hur ni tänker, kan nog vara mycket enklare om man inte sliter ur den varje gång man skall byta program...och byter program blir det nog kanske mycket av i början
Så det enklaste är nog en sådan programmerare och ett vanligt labbkort alltså.
Postat: 5 april 2007, 21:08:54
av BoF