Fórum témák

» Több friss téma
Fórum » PIC BASIC
 
Témaindító: hinar_, idő: Máj 7, 2008
Témakörök:
Lapozás: OK   3 / 23
(#) borvendeg válasza vicsys hozzászólására (») Dec 6, 2008 /
 
még megpróbálom azt isde elméletileg a fordító progi nem különböztet meg kis és nagy betűket
(#) vicsys válasza borvendeg hozzászólására (») Dec 6, 2008 /
 
Igen, ilyenkor kellenek a források mintának. Nézz körül a guglival. Itt van egy led villogtatás, talán a ciklus érthető belőle:
Bővebben: Link
(#) gulasoft hozzászólása Dec 24, 2008 /
 
Hello!
Egy kérdésem lenne.
Az alább kód egy 18f458-al simán fut, adja a hőfokot rendesen.
Egy 16f726-al azonban csak 0-át ad.
Ötletek, hogy mi lehet a gond?

Define LCD_DREG PORTC
Define LCD_DBIT 4
Define LCD_RSREG PORTC
Define LCD_RSBIT 1
Define LCD_EREG PORTC
Define LCD_EBIT 0


' Allocate variables
command var byte ' Storage for command
i var byte ' Storage for loop counter
temp var word ' Storage for temperature
DQ var PORTB.2 ' Alias DS1820 data pin
DQ_DIR var TRISB.2 ' Alias DS1820 data direction pin


ADCON1 = 7 ' Set PORTA and PORTE to digital

Low PORTC.2 ' LCD R/W line low (W)
Pause 100 ' Wait for LCD to start

Lcdout $fe, 1, "Temp in degrees C"' Display sign-on message
HIGH PORTB.3

' Mainloop to read the temperature and display on LCD
mainloop:
Gosub init1820 ' Init the DS1820

command = $cc ' Issue Skip ROM command
Gosub write1820

command = $44 ' Start temperature conversion
Gosub write1820

Pause 2000 ' Wait 2 seconds for conversion to complete

Gosub init1820 ' Do another init

command = $cc ' Issue Skip ROM command
Gosub write1820

command = $be ' Read the temperature
Gosub write1820
Gosub read1820

' Display the decimal temperature
Lcdout $fe, 1, dec (temp >> 1),".",dec(temp.0 * 5)," degrees C"

Goto mainloop ' Do it forever


' Initialize DS1820 and check for presence
init1820:
Low DQ ' Set the data pin low to init
Pauseus 500 ' Wait > 480us
DQ_DIR = 1 ' Release data pin (set to input for high)

Pauseus 100 ' Wait > 60us
If DQ = 1 Then
Lcdout $fe, 1, "DS1820 not present"
Pause 500
Goto mainloop ' Try again
Endif
Pauseus 400 ' Wait for end of presence pulse
Return


' Write "command" byte to the DS1820
write1820:
For i = 1 to 8 ' 8 bits to a byte
If command.0 = 0 Then
Gosub write0 ' Write a 0 bit
Else
Gosub write1 ' Write a 1 bit
Endif
command = command >> 1 ' Shift to next bit
Next i
Return

' Write a 0 bit to the DS1820
write0:
Low DQ
Pauseus 60 ' Low for > 60us for 0
DQ_DIR = 1 ' Release data pin (set to input for high)
Return

' Write a 1 bit to the DS1820
write1:
Low DQ ' Low for < 15us for 1
@ nop ' Delay 1us at 4MHz
DQ_DIR = 1 ' Release data pin (set to input for high)
Pauseus 60 ' Use up rest of time slot
Return


' Read temperature from the DS1820
read1820:
For i = 1 to 16 ' 16 bits to a word
temp = temp >> 1 ' Shift down bits
Gosub readbit ' Get the bit to the top of temp
Next i
Return

' Read a bit from the DS1820
readbit:
temp.15 = 1 ' Preset read bit to 1
Low DQ ' Start the time slot
@ nop ' Delay 1us at 4MHz
DQ_DIR = 1 ' Release data pin (set to input for high)
If DQ = 0 Then
temp.15 = 0 ' Set bit to 0
Endif
Pauseus 60 ' Wait out rest of time slot
Return

End
(#) kisptr válasza vicsys hozzászólására (») Márc 17, 2009 /
 
Hello! Én a Swordfish compiler-t ajánlanám Basic programozáshoz. Nekem nagyon bevált. Van ingyenes SE változat,IDE, Wiki, fórum ,példa programok...

Olyan mint egy párbeszéd


Egy megoldás(swordfish):
  1. Device = 18F2550
  2. Clock = 20
  3.  
  4. Dim LED As PORTC.0
  5. Dim SW1 As PORTC.2
  6.  
  7. While true
  8.     If SW1=0 Then
  9.         High(LED)
  10.     Else
  11.         Low(LED)
  12.     EndIf
  13. Wend
Bővebben: Link
(#) alex01 hozzászólása Ápr 2, 2009 /
 
Sziasztok! Ezt a kapcsolást építeném meg: Bővebben: Link de nem tudom lefordítani hex-re a pic-be való fájlt,mert mindig hibát ír ki a fordító valaki megnézné nekem,hogy le lehet e fordítani egyáltalán?
(#) alex01 hozzászólása Ápr 12, 2009 /
 
Hali! Az itt található,basic programot,valaki le tudná nekem fordítani?:Bővebben: Link köszönöm
(#) bbatka válasza alex01 hozzászólására (») Ápr 12, 2009 /
 
Lefordítottam neked.
(#) alex01 válasza bbatka hozzászólására (») Ápr 12, 2009 /
 
Köszi szépen! Mivel tudtad leforditani,mert nekem sajna nem jött össze
(#) borvendeg hozzászólása Szept 8, 2009 /
 
Hello!
Olvastam a chip cad honlapján, hogy megjelent a PICBasic Pro 2.60-as verziója Valaki nem találkozot vele még neten ahonnana le lehetne tölteni? Esetleg valaki meg tudná osztani akinek megvan? Köszi a segítséget.
(#) gulasoft válasza borvendeg hozzászólására (») Szept 9, 2009 /
 
Most 41.000Ft körül meg lehet venni a chipcad-nél, ha ennyire kell a mindig friss fordító vedd meg, egyébként meg keresgélj és találsz, ne várd hogy itt bárki is linket ad lopott programokhoz.
(#) Thowra hozzászólása Nov 6, 2009 /
 
Üdv mindenkinek!
Egy programhoz szükségem lenne vagy a PICbelső, vagy egy külső eepromba való mentésre, kiolvasásra. Ha csinált már valaki ilyen progit basicbe, kérem segítsen. 16 karaktert kellene elmenteni. Elképzelés van:
Az adatok a1 től a16 ig lennének a progiba.
Amikor menteni kell akkor ebbe a sorrendbe beírnám eepromba. Ha visszajött az áram akkor kiolvasnám és menne minden tovább.
A progit Proton ide vel csinálom.
A segítséget előre is köszönöm.
(#) Alkatel hozzászólása Nov 8, 2009 /
 
Sziasztok! Beszallnek 1 otlet erejeig, hatha valakinek jol jon. Mikro klub Varpalota, Torkos Csaba. Neki van nagyon siraly basic MCS51 nevre hallgato fejleszto rendszere peldaprogikkal, hardwareval. Evek ota hasznalom. Sok ki- es bemenete van. Szep napot.
(#) brato hozzászólása Dec 26, 2009 /
 
Üdv!

Tudna valaki felvilágosítást vagy egy példaprogramot adni, hogyan tudok proton ide alatt az lcd - vel ékezetes karaktert írni?
Köszi.
(#) brato válasza brato hozzászólására (») Dec 30, 2009 /
 
Senki nem olvassa ezt a fórumot?
(#) vicsys válasza brato hozzászólására (») Dec 30, 2009 /
 
De igen, olvassa... Csak:
Idézet:
„VIII. Ha beírtunk egy kérdést és arra nem jön rövid időn belül válasz, nem írjuk be hogy a mi kérdésünkre miért nem válaszol senki. A tagok nem vakok, valószínűleg elolvasták amit írtunk, a hallgatásnak több oka is lehet:
- a kérdés érthetetlen volt és nem lehet rá válaszolni
- a kérdés túl nehéz volt és senki nem tud rá válaszolni
- a kérdés már milliószor elhangzott és senki nem akar újra rá válaszolni
Azt meg ugye nem várjuk el hogy a kérdésünkre ha nincs válasz, majd minden egyes fórumozó beírja: "én nem tudom".”
(#) brato válasza (Felhasználó 15355) hozzászólására (») Dec 30, 2009 /
 
Az rendben is lenne, csak basicban nem tudom, hogyan töltsem ezt le az LCD-be.
(#) vicsys válasza brato hozzászólására (») Dec 30, 2009 /
 
(#) dolfin hozzászólása Jan 3, 2010 /
 
Üdv

Elég sok programot írtam már Oshonsoft Basic-jében illetve microe basic-jében (microbasic), de van egy problémám.
Bármennyiszer akartam írni software-es PWM-et, sose jött össze.
Röviden: csináltam egy hangulatlámpát. GP0 piros, GP1 zöld, GP2 kék - LED van rákötve BC337-40TA típusú NPN tranyón keresztül a földre húzva. A PIC 12F609-es. A belső Oscillátorát használom.
Az a problémám hogy keverni szeretném a színeket PWM-mel de valamiért nem megy.
Mindegyik egyforma fényerővel világít.
delayus - ot használom, és elvilegben a programom jó.

Csatolom a teljes progit, microbasic-ben.
Itt van benne egy olyan is hogy előre beprogramozott színkombinációkat átmenettel mutatja.
Ez kicsit bonyolult lett, de a sima egyszerűt nem találom
Timer0 adja az időt.

Ha valakinek van ötlete azt megköszönném.
Köszönöm.
(#) hpmaster hozzászólása Feb 9, 2010 /
 
Tisztelt Kolegák!

Helyzet az, hogy szembe találtam magam egy pik progival. Mivel én eddíg AVRben garázdálkodtam basic nyelven megnyugvásal töltött el, hogy ez a szoft is bézikben van írva. Ám hogy az élet mégse legyen iylen egszerű, szembetaláltam magam a problémával, hogy nem tudom lefordítani.
Mielőtt kapom a javaslatokat és a lehurrogást, elmondom, hogy letöltöttem és kipróbáltam MPLab-ot, PICBasic Pro-t, PIC Simulator IDE-t, mikroBasic-et és kituggya még mit, de reménytelen a dolog.
A programban találtam egy include fájlt, névszerint MODEDEFS.BAS. Ebből arra következtetek, hogy picbasicpro lehet az elkövető.
Az illető akinek a neve a programírók közt szerepel, sajna nem tudott pontos választ adni, hogy mivel volt írva a progi és hogy mivel fordították.

Most ha PicbasicPro-val fordítanám, mindenféle hibaüzenetet kapok. Pl.:
"Bad expression." meg "Redefiniton of LABEL ..."
Azt is mondja fordításkor, hogy warningoljak, mert nem tudja megnyitni az inklúdolt BAS fájlokat, holott ugyanabban a mappában vannak ahol a fő forrás.

Így próbáltam fordítani: pbp /p18f452 C:\PBP\SAJAT\akarmi.bas

(Bocs az esetleges bénázásaimért, de pikkel most kezdek foglalkozni.)
Vélemény?
(#) hpmaster hozzászólása Feb 9, 2010 /
 
Kérdés még egyébként, hogy valamelyik utasításból nem lehet esetleg kikövetkeztetni, hogy mi lehet a fejlesztőkörnyezet?
(#) hpmaster hozzászólása Feb 9, 2010 /
 
pbp.exe-t meg a pbpic18.ram fájlokat bemásoltam abba a mappába, ahol a forrás van
már csak annyi hibaüzi van, hogy Out of Memory.

Miért nem elég a memória?
(#) hpmaster hozzászólása Feb 9, 2010 /
 
Out of Memory is megoldva, most az a gond, hogy a programban mindenhol, ahol IF ág van END IF-el lezázva, az EDN IF soroknál szintaxis hibát ad fordítás közben.
(#) hpmaster hozzászólása Feb 9, 2010 /
 
Jól elvagyok
Jelenleg itt tartok:S
A programot nem én írtam, de nekem kell majd átnyálazni és hibát keresni/javítani benne. Van belőle lefordított verzió, ezért "sírok" hogy nekem nem megy. Elvileg mennie kellene.

Help me PLS!

hibauzi.JPG
    
(#) icserny válasza hpmaster hozzászólására (») Feb 9, 2010 /
 
A hibaüzenet azt mondja, hogy a PM (gondolom, ez az assembler menete a fordítónak) nem támogatja a PIC18F452 mikrovezérlőt. A létrehozott assembly fájlt a Microchip MPASM fordítójával kell (tovább) fordítani.

A többi már csak következmény...
(#) hpmaster válasza icserny hozzászólására (») Feb 9, 2010 /
 
Köszönöm a gyors választ kolega úr!
Idő közben én is baromkodtam még kicsit és többekközt olyan hibákba futottam bele, mint pl a HSEROUT parancs MicroCode Studio-ban nem szereti, ha a [] zárójelei közt a tömbindexek is ilyen zárójelek közt vannak. Ami érthető. Ezeket mindenütt átírtam ()-ekre. Ugyanakkor nemtudom, hogy mennyire lesz így jó a program, ugyanis minden más helyen a forásban a tömbindexek []-ek között állnak.

Itt jegyezném meg -szögletes, vagy sima zárójelek között-, hogy az AVR-ekhez készült Bascom nevű progiban sokkal érthetőbbek és átláthatóbbak a dolgok... (szerintem).
(#) hpmaster hozzászólása Márc 16, 2010 /
 
Újabb kérdéssel jelentkezem urak.
MicroCode Studio a téma nálam, és a kódban találtam olyat, hogy AKARMI = VALAMI << 8

Most akkor pontosan hogy is kell értelmezni ezeket a kettős relációkat (úgy általában)? C-ben vannak ilyenek, de már arra sem emléxem egész pontosan. >>
(#) hpmaster hozzászólása Márc 16, 2010 /
 
Ígérem, legközelebb nem azt csinálom mint amit most...
Először megnézem a HELP-et, és ha nem találom a választ, csak akkor kérdezek.
SHIFT operátor. Adott esetben 8 bittel tolja el az értéket balra.
Köszönöm a lehetőséget.
(#) hpmaster hozzászólása Márc 22, 2010 /
 
Jó. A helyzet az, hogy van problema.
Nem világos, hogy hogyan is működik a cimkék (label) használata ebben a nyavajás progiban.
Eleje ugyan van a "subrutinnak" de vége?!

Bascom-nál úgy működik a dolog, hogy pl:
  1. ...
  2. GOSUB cimke
  3. ...
  4.  
  5. SUB cimke:
  6. ...
  7. END SUB


Itt látszik, a rutin mettől meddíg tart.
De a pices progiban van számtalan cimke, amire ugyan hivatkozik a program X helyen, de a cimke után nemtudom, hogy meddíg tart a hozzá tartozó programrész.
A következő cimkéig? Vagy csak egy sorra vonatkozik ha nincs return-el lezárva?

Nemértem...
(#) brato válasza hpmaster hozzászólására (») Márc 22, 2010 /
 
A GOSUB utasítás a megadott cimkétől kezdve az END SUB utasításig tart, a szubrutinból ki lehet léptetni Pl,: EXIT SUB vagy GOTO vagy IF utasításokkal.
(#) hpmaster válasza brato hozzászólására (») Márc 22, 2010 /
 
A gondom az, hogy vannak a programban olyan cimkék, amire GOTO utasítással elugrik a program, de a cimkéhez nem tartozik lezárás. Álltalában return-nal vannak lezárva, de vannak olyan részek, ahol 5-6 cimkés sor is van és egyik sincs return-al lezárva. Ezekkel a részekkel hogy foglalkozik a proci?

Folyamatosan hajtja végre a futást, mintha ezek is sima sorok lennének, de lehet hozzájuk ugrani is, ha kell esetleg?
Következő: »»   3 / 23
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem