Fórum témák
» Több friss téma |
még megpróbálom azt isde elméletileg a fordító progi nem különböztet meg kis és nagy betűket
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
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
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):
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?
Hali! Az itt található,basic programot,valaki le tudná nekem fordítani?:Bővebben: Link köszönöm
Lefordítottam neked.
Köszi szépen! Mivel tudtad leforditani,mert nekem sajna nem jött össze
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.
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.
Ü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.
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.
Ü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.
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".”
Az rendben is lenne, csak basicban nem tudom, hogyan töltsem ezt le az LCD-be.
Ü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.
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?
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?
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?
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.
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!
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...
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).
Ú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. >>
Í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.
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:
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...
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.
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? |
Bejelentkezés
Hirdetés |