Programmera PIC med basic stamp språket?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Patrik skicka mig ett PM så skall jag hjälpa dig...
Vilken PIC använder du?
Användarvisningsbild
Patrick
Inlägg: 376
Blev medlem: 9 december 2007, 19:13:01
Ort: Uppsala
Kontakt:

Inlägg av Patrick »

danei skrev:Du har ju fått tips på hur du ska göra i varje svar. Vill du ha tipsen inlindade i bomull så får du nog leta någon annan stans.

Fanns den koden med som exempelkod i kompilatorn? Det ser det inte ut som.
Japp den fanns med!
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Kör detta istället.

När du använder HIGH och LOW kommandona så blir porten automatiskt en utgång du behöver inte tala om för kompilatorn att dessa skall vara outputs.

Om du använder en PIC men analoga ingångar så måste du stänga av dessa och göra alla pinnar till digitala I/O.

Main:
HIGH PORTB.0
HIGH PORTB.1
PAUSE 500
LOW PORTB.0
LOW PORTB.1
PAUSE 500
GOTO Main
Användarvisningsbild
Andy
Inlägg: 5893
Blev medlem: 26 september 2004, 18:24:52
Ort: Södern

Inlägg av Andy »

Eller testa detta istället:


Cnt VAR BYTE 'Declare Cnt as a byte

TRISB = 0 ' Set PORTB pins as outputs

AGAIN:
FOR Cnt = 1 TO 3
PORTB.0 = 1 ' Turn ON LED
PAUSE 250 ' Wait 250ms
PORTB.0 = 0 ' Turn OFF LED
PAUSE 250 ' Wait 250ms
NEXT Cnt

PAUSE 2000 ' Wait 2 seconds

GOTO AGAIN ' Repeat

END ' End of program
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

PORTB.1 kommer inte att "blinka" alls med din kod...
Användarvisningsbild
Andy
Inlägg: 5893
Blev medlem: 26 september 2004, 18:24:52
Ort: Södern

Inlägg av Andy »

Jo det gör den, för jag har kört den som en test för ett tag sen.

Edit. inte 1 men 0, detta är ett fungerande exempel som lätt går att ändra i
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Min exempel kod fungerar både med 1 och 0, desutom så tar den mindre plats i PIC´en också. ;)
Användarvisningsbild
Andy
Inlägg: 5893
Blev medlem: 26 september 2004, 18:24:52
Ort: Södern

Inlägg av Andy »

”Min” kod går inte alls in i PIC’en, den måste kompileras först och då blir den förmodligen inte mycket större än din kod. :D
Användarvisningsbild
Patrick
Inlägg: 376
Blev medlem: 9 december 2007, 19:13:01
Ort: Uppsala
Kontakt:

Inlägg av Patrick »

Hur som helst!
Vi har en GULD värd person FREDRICK här.
Tackar så hjärtligt för all hjälp och support!
:D
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Andy skrev:”Min” kod går inte alls in i PIC’en, den måste kompileras först och då blir den förmodligen inte mycket större än din kod. :D

17 också...... hatar att ha fel...
Jag kollade just och bägge kodena förbrukar 65 Words.

1 - 0 till dig.. ;)
Användarvisningsbild
Andy
Inlägg: 5893
Blev medlem: 26 september 2004, 18:24:52
Ort: Södern

Inlägg av Andy »

Skit i det, huvudsaken att Patrick är lycklig! :D
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

;) Sant..
H.O
Inlägg: 5919
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Inlägg av H.O »

Hej,

Om man använder HIGH och LOW så behöver man inte alls sätta TRIS-registret själv innan - som någon redan påpekat. Däremot är det lite "slöseri" eftersom PBP sätter TRIS varje gång ett HIGH eller LOW kommando påträffas. Det är med andra ord snabbare och mer kod-effektivt att själv sätta TRIS-registret och sedan göra PortB.1 = 1 t.ex

Sen det här med HIGH B0 etc. B0, B1 osv är namn på variabler eller I/O (kommer inte ihåg vilket) på BasicSTAMP och funkar inte rakt av i PBP. Däremot kan du göra INCLUDE "bs1defs.bas" eller INCLUDE bs2defs.bas" för att inkludera en fil med alias för att matcha BS1 eller BS2 så att B0 osv går att använda, rätt onödigt men i alla fall...

Det samma gäller om man vill använda BasicSTAMPens definitioner på baudrate, typ N2400 etc. Då inkluderar du filen modedefs.bas och kan sedan skriva till exempel, SEROUT PortB.2, N2400,[#MyVAR, 10, 13]
Användarvisningsbild
Andy
Inlägg: 5893
Blev medlem: 26 september 2004, 18:24:52
Ort: Södern

Inlägg av Andy »

När vi ändå spånar lite på PBP, är det någon som har något bra exempel på floating point? Gärna ett exempel med avläsning av en A/D ingång och presentation av ett decimal tal. PBP har många fina egenskaper men så vitt jag har kunnat se finns det inget bra stöd för floating point. :?
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

FP är mycket sällan något man använder i µC-världen, det går nästan alltid med fixed-point.
Skriv svar