Hur många här använder PICBasic Compiler?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

Håller med Icecap! Det har man definitivt nytta av även som hobbyist! Ju mindre tid man behöver lägga på att göra samma sak igen, desto fler hobbyprojekt hinner man med! Och kan syssla med nya roligare saker istället för att uppfinna hjulet igen.
Användarvisningsbild
Glenn
Inlägg: 36667
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Inlägg av Glenn »

Icecap skrev:Nu har jag inte haft behov av att montera t.ex. EEPROM på en PIC men jag kan de-facto ta samma rutin jag redan har som en .H-fil och använda direkt.
..Jag vet att det bara var ett exempel men..

http://www.melabs.com/resources/pbpmanu ... 21.htm#518
http://www.melabs.com/resources/pbpmanu ... 62.htm#556

Så där har man det redan löst :)

Jag förstår dock din poäng, men jag ser inte riktigt var jag någonsin skulle behöva kunskapen, och skulle jag det, ja då får jag väl lösa det då, istället ägnar jag två sekunder åt att lösa problemet i PBP nu.
Användarvisningsbild
Glenn
Inlägg: 36667
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Inlägg av Glenn »

vfr skrev:Håller med Icecap! Det har man definitivt nytta av även som hobbyist! Ju mindre tid man behöver lägga på att göra samma sak igen, desto fler hobbyprojekt hinner man med! Och kan syssla med nya roligare saker istället för att uppfinna hjulet igen.
..Fast nu är det ju så att med PBP så har ju någon annan redan uppfunnit hjulet, så man använder det ju bara istället för att uppfinna det själv.
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

Visst, en del saker är ju lösta, men långt ifrån alla. Dessutom kan det ibland vara svårt att veta hur dessa lösningar egentligen fungerar i alla avseenden. Men helt korrekt så har det egentligen inte med språket i sig att göra. Det kan man få även i C t.ex. Eller genom att använda ett externt bibliotek i asm. Argumenten mot BASIC i tråden var huvudsakligen mot språket som sådant och dess icke-standard.
Användarvisningsbild
Andy
Inlägg: 5893
Blev medlem: 26 september 2004, 18:24:52
Ort: Södern

Inlägg av Andy »

PBP genererar inte större eller sämre kod än andra kompilatorer, det är bara sant om Basicen är använd på ett tokigt sätt.
Det går fint att "stoppa in" asm kod i Basicen om man tycker att det finns ett bättre sätt att lösa en speciell uppgift i ett program.

Hittills har jag endast ogillat DIV32 i PBP, det är lite omständigt… fast jämfört med asm är det OK. Jag är mycket nöjd med PBP till de applikationer som jag hittills kört.

Jag tittade på Swordfish kompilatorn som hastigast, den ser väldigt intressant ut även vad gäller struktuering. Finns gratisvariant utan begränsningar utom för antalet variabler (om jag uppfattade det rätt). Swordfish är dock ”bara” för 18 serien men vad gör det?
http://www.sfcompiler.co.uk/swordfish/
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Inlägg av v-g »

Assembler är nästan lika "snabbt" att koda i som C eller BASIC om man gjort lite förut och har några rutiner man vet fungerar. Från början står man med två tomma händer men de får man snabbt uppfyllda.

En blink a led smäller man ihop på 10 minuter storlek c:a 200 byte. Alla "grunder" finns som färdiga sk. mallar som bara är att ladda ner från microchip.

Sen går ju skiten att felsöka också vilket jag tycker är den största fördelen av alla. Ska man tex skicka kod till en display och är osäker, in med en "pause" och kolla varje pinne om den är hög eller låg med en hederlig lysdiod. Lite annat än färdiga kommandon.

Finns också många fallgropar MEN de flesta står faktist i manualen om man ids läsa och manualen (till PIC) är avsedd för ASM.

Det finns ju såklart också en del nackdelar också bla matte kan ju vara knivigt, Alla problem FINNS dock lösta (om än inte alltid fungerande :roll: ) på piclist. Sen VET man ju inte om en rad i c eller v genererar hundra i ASM.

BASIC är som att bygga taket innan grunden. C kan vara samma sak om man inte har koll på grunderna.

I MPLAB finns många smarta funktioner som gör att man slipper hårdkoda adresser osv. I mitt displayprogram tex finns inga fasta hållpunkter förrutom startsektorn. Allt annat cirkulerar runt om man kollar i programminnet. Dvs inga problem att lägga till eller ta bort värden,sektioner osv.

Har även projektet uppdelat i flera filer för att få överskådlighet. Nu är jag rätt lat så jag är inte så noga men det går ju att dela upp väldigt smart så man hittar det man söker direkt.

Alla kommandon står ju dessutom baki bruksen, var står de för C & basic? ;) Sen VET man att kodar man rätt så gör den exakt det den blir tillsagd att göra och inte massa annat.

ASSEMBLER åt folket!
Användarvisningsbild
Tripp
Inlägg: 397
Blev medlem: 29 januari 2004, 08:14:39
Ort: Tullinge
Kontakt:

Inlägg av Tripp »

Tips på en E-bay aktion :)

ebay PIC-Basic-Swordfish-Compiler-w-2-USB-Dongles

Edit:
Ändrade en lång url till en länk //lgrfbs
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

Bra sammanfattat, v-g!
Användarvisningsbild
AndLi
Inlägg: 18257
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

C åt folket, assembler är överskattat. :)

Jag har jobbat med hårdvarunära programering i typ 10 år nu, Jag förstår teorierna bakom assembler och skulle säkert med databladet och en asm referensi högsta hugg kunna skriva ihop fungerande applikationer.

Senaste veckorna har jag växlat mellan 4 olika µC av olika fabrikat, är det då meningen att jag ska sätta mig in i assemblern för varje? Istället för att koncentrera mig på att lösa problemen?

Men vist kan det vara bra att trycka in lite assembler i halsen på nybörjarna, det ger förhoppningsvis en förstålese för hur det hela funkar... och mindre "windowsprogrammerade" *1 inbyggda system för mig att reda upp...

*1 Med windowsprogrammerade system menar jag att det skiljer sig ganska radikalt i tankesätt att skriva en applikation till en vanlig PC snurrandes windows med gigabyte av minne och en liten µC. Detta verkar få förstå...
Användarvisningsbild
Icecap
Inlägg: 26636
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Assembler i all ära, jag har gjort mycket stora arbeten i assembler men det är mycket skrivande.

Jag "kan" ju µC från grunden och upp, jag har använd "ofattbart" med tid på Z80, CP/M-2.2 & TRS80, jag har byggt om min trogna TRS80 väldigt mycket, de-assemblerat hela ROM'en, "snyggat till" den, lagt in nya kommandon i dess BASIC och fibblat väldig mycket.

Så jag använder C, det medger att man kan göra rutiner man kan "återvinna", jag håller mig helst till ANSI-C, då finns det ingen "fallgropar" som gör att jag måste göra om en (eller fler) rutin(er) för att de förliter sig på kompilerspecifika kommandon.

Visst kan jag göra rutiner som multiplicerar olika storleker variabler med varandra osv i assembler men det är helt enkelt inte lönt.

Med C har jag tillgång till hårdvaran samtidig som jag kan göra avancerade funktioner och hålla en syntax som kan läsas utan kilometervis med kommentarer.

Jag minns med skräck ett projekt jag fick överta, det var baserat på 8052's BASIC med assembler för att ta hand om interrupt. Sedan skulle de 2 språk kommunicera och komplexiteten slog alla rekord... och det fungerade inte i närheten av vad det skulle.

Min första åtgärd var att kolla igenom BASIC-delen och sammanhålla alla PEEK & POKE adresser med vad de var i ASM-delen, jag hittade många fel med inte blev det speciellt bättre för det.

Jag meddelade då chefen att det helt enkelt inte gick att få rätsida på det på det vis, vi behövde köpa en C-kompiler! Det blev en Keil, jag benade ut vad alla delar av originalprogrammet skulle göra och skrev det som C-funktioner och när jag var klar sydde jag ihop huvudflödet.

Det fungerade avsevärd bättre än det förra system... i första försök. Alla de problem som fanns med i det gamla program försvann och vi kunde utvidga funktionaliteten utan att det strulade.

Kort efter kunde jag även minska antal komponenter på styrkortet avsevärd då jag kunde spola en extern UART eftersom det fanns 2 st UART i den krets vi använde (I80C320), med BASIC'en borta hade JAG tillgång till hela elektroniken och plötsligt var resten enkelt.

Visst, det var inte BASIC'en i sig som ställde till det enbart, det var blandningen och interruptproblemer som var en stor bov men att det var BASIC med i bilden var ingen hjälp alls.

Sedan bytte jag processor till en Fujitsu, det var av rent kostnadsmässiga orsaker, på köpet fick jag även en hårdvara som klarade av en hel del mer, mer minne samt ICSP.

Visst skiljde hårdvaran sig kraftigt mellan de 2 processorer men efter att ha flyttat ut hårdvaruinitieringen kunde jag kompilera SAMMA källkod i endera kompiler och få fungerande kod, jag kunde alltså uppdatera en funktion i min C-källkod, kompilera med båda Keil och Fujitsus', ladda in programmen i vardera µC och få samma funktioner.

Jag har nu gjort samma trick mellan Fujitsu och Renesas utan problem.

Där har man styrkan vid C.
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

Ni får inte berätta att även jag programmerar i PicBASIC, i 99% så har det räckt till även om det blivig flera sidor ”text”. Det är lite skämmigt och inte riktigt ”fint” här på forumet, men söker man på nätet så finns det massor att lära sig om PicBASIC (google= 376 000 träffar) så man är inte ensam.
Ställer man en fråga här på forumet om programmet så är det nästan samma personer som hackar på en för att man använder PicBASIC, troligtvis för att visa sig duktiga.
Om jag vill lära mig köra bil så lär jag mig det som är ”Basic” för bilkörning vilket oftast räcker. Vill jag bli duktigare kan man bli polis och då får man bestämma över andra som bara lärt sig det som är ”Basic”
Användarvisningsbild
Icecap
Inlägg: 26636
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Intressant... hur mycket C har du programmerat?

Jag har ett antal år med BASIC, Assembler, Pascal, C, C++, CiCode (ganska Pascal-liknande) & olika PLC-språk (mest SioX).

Jag har alltså en "viss erfarenhet" bakom mig och det är baserat på den som jag fasthåller att BASIC är en leksak.

Kalla det polis om du vill, har du bara lekt med BASIC kan du knappast uttala dig om fördelar och nackdelar vid de olika språk eller hur?

Och ytterligare en anledning till mitt motstånd mod BASIC:
"Tänket" är en del olika om man jämför BASIC och C/Pascal. Det är svårt att lära sig att programmera och ger man sig in på BASIC befäster man ett programmeringssätt som är svårt att ta sig ur, detta betyder att "alla andra" språk är mycket mer besvärliga att komma in i.

Jag har själv varit där och det var en kamp att gå över till Pascal... men steget från Pascal till C var bara ett mindre skutt, de var så lika.

Google-träffer på "c school": drygt 71.000.000
sdujolo2
Inlägg: 158
Blev medlem: 2 oktober 2007, 13:50:35
Ort: Sundsvall

Inlägg av sdujolo2 »

Instämmer med allt Icecap säger.
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Inlägg av v-g »

Vad annat kan man göra än att instämma med Icecap? Dels har han löst problem sen många av oss låg i vaggan sen har han det faktist som jobb medans det för mig och de flesta andra här mest är en hobby.

Men han _KAN_ assembler och därför kan kontrollera varför saker och ting inte fungerar som det är tänkt för det antar jag att det gör någon gång då och då ;)

Fast jag ser också stor skillnad på hobby och proffesionellt arbete.

Kan tex dra en parallell från mitt gamla jobb där vi skulle göra ett fastighetssystem. Vi hade ett typ av "mallsystem" som man ärvde in i varje panel/popup osv. Detta för att få ett enhetligt system och att om utseendet var fel så ändrar man bara på en plats och kompilerar om hela rasket. Samma kan man göra med funktioner.

MEN ovanstående är inget jag skulle lägga tid på om jag inte hade haft det som jobb.

Istället kör jag på att problemet när det väl kommer löser jag där och då utan att krångla till det mer än nödvändigt. Smarta kodsnuttar spar jag i en textfil i en katalog som heter "bra kod" med passande namn. Sen har man ju alla de gamla testerna som bara är att titta i så ser man hur man löste problemet då.

C är utan tvekan bra inget snack om den saken och nya PIC är ju tom avsedda för C programmering i mycket större grad. Sen är det ju mycket mer överskådligt och med arv och rena strukturfördelar klår det ju assembler när det gäller större projekt.

Därmed inte sagt att det inte skulle fungera i assembler. Kodar man rätt och använder relocatable code så ändrar man processor lika kvickt i assembler som i C. I "önskedrömmen" är det bara vilken processor man väljer i "include ;) I verkligheten troligen lite mer :)
Användarvisningsbild
AndLi
Inlägg: 18257
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

Nu är jag ju rätt säker på att ARv tillhör C++ och inte C.

Ändrar processor? Från samma tillverkare i samma familj, eller annan tillverkare?
Svårt att se att det skulle gå mellan olika tillverkare, vilket går ganska smidigt med C om man gjort rätt och sammlat hårdvaruaccessen på ett ställe.
Skriv svar