Fórum témák
» Több friss téma |
Igenm ahogy icserny kollega megirta, regen a 'dim' szo jelentette a tomb deklaraciot, es a valtozokat nem kellett deklaralni egyaltalan. 'dim' azaz 'dimmension' -- azaz van dimmenzioja, tehat nem egyetlen szambol vagy akarmibol all...Na mindegy, en hibam, hogy nem ismerem ezeket az elfajzott Basic utanzatokat.
Hogyne emlékeznék a Commodore 64-es időkre!
Ott valóban csak a tömbök deklarálásához kellet a DIM utasítás, az egyszerű változókhoz nem. Viszont ha jól tudom, ott csak két változó típus volt; a sztring és a lebegőpontos szám. A karakterfüzért a név utáni $ jel különböztette meg a numerikus változótól. Egyébként semmi gond nincs magával a Basic nyelvvel, sokkal emberközelibb, mint pl. a C. Én a C nyelvet gyűlölöm, de nagyon. A VisualBasic-kel én minden nekem szükséges dolgot meg tudok csinálni. Teljesen megbízható és áltlátható. Ha meg valami folytán a Basic nem lenne elég, akkor ott van az Assembly. Visszatérve a PIC-es mikroBasic-re: Elég bugos mind a 8 bites, mind a 16 bites verzió. Néhány hiba - így hirtelen: - a FOR...NEXT...STEP ciklus negatív lépésköznél hibásan működik. - a FOR...NEXT ciklus nem fejeződik be sosem, ha a ciklusváltozó és végérték típusa nem azonos. - Debugger módban a Run To Cursor parancs nem áll meg a kijelölt sornál ha a szubrutinok göngyölve vannak. - Debug módban a változók értékét csak a változás után mutatja pár lépésig, majd azt írja: Inaccessible - a göngyölt szubrutinokat gyakran minden látható ok nélkül spontán kibontja és úgy hagyja. - a kurzor gyakran mozgás (törlés) közben véletlen helyre ugrik. (...és olyan törlődik aminek nem kellene)
Igen, az redben van odaig, hogy bele tettek mas tipusokat is, de konyorgom, miert epp a 'DIM' szot hasznaltak fel egy masik celra? Lehetett volna 'VAR' pl... (Amugy megtehettek volna maskepp is, pl az integer #-el kezdodik, ahogy a string tradicionalisan $-al kezdodott, na mindegy.) Es ez nem csupan a Commodore Basic-jeben volt igy, tehat, hogy a 'DIM' a tombok deklaralasara valo. En Apple II-n tanultam, es ha hiszed, ha nem az AppleSoft Basic-et a Microsoft fejlesztette ki anno. Csak azota a kis cegbol nagy lett es elfelejtettek honnan indultak el...
Ami a bugozast illeti: Debuggolashoz nem lehet kikapcsolni az optimalizalast? Vagy nem azzal van a gond? Amugy miert eppen microBasic?
Ismersz más Basic fejlesztői környezetet, ami támogatja a 16 bites PIC-eket? (ill. az AVR-t is)
...Vagy te más nyelvre gondoltál?
Szia!
Természetesen én is találtam más progikat, de minddel az a gond, hogy csak 8 bites PIC-et támogatnak. A "tehenes" basic-kel is ez a helyzet. Mindegy, már nem érdekel az egész. Úgy döntöttem hogy assembly nyelvet használok a továbbiakban. Csak kis időbe telik, amíg újra belemelegedek, mivel már vagy 15 éve nem programoztam assemblyben. (A Motorola 680x0 még ma is A CSÚCS számomra. ![]()
Jó az assembly, csak egy kicsit szaporátlan vele a munka. A C valamivel kényelmesebb. Nem utolsósorban a nagyobb alakalmazásokat támogatói csomagok (TCP/IP, USB, fájlrendszer kezelés, grafikus könyvtárak) is C nyelven vannak közzétéve.
Igazad van, csak hát én rühellem a C nyelvet.
A Basic-et azért szeretem mert emberközeli és könnyen/gyorsan lehet használni, az Assemblyt pedig azért mert bármi megoldható vele és jól optimalizálható kódhosszra/sebességre.
Üdv!
itt találtam egy jó kis kapcsolást, megépítettem 2x is nagyon jól működik. Csak hex fájl van csatolva (assembly-ből se sokat értettem volna). Ezt basic-ben meg lehet egyszerűen csinálni? Át szerettem volna alakítani, mondjuk az időzítést, vagy esetleg még egy csatornát. Én egyébként a proton IDE-t használom, itt a fórumon ajánlotta valaki, szerintetek milyen?
Üdv!
A Proton jó, bár nálam időnként hibát jelez és akkor újra kell indítani.
Hali
Itt az ASM, ha erdekel. Csa Vili Ps: MPLAB ingyenes fejleszto!
Köszi, Basic-ben nem tudna valaki valami hasonlót?
Tisztelet!
Egy olyan PIC-es kütyüt szeretnék építeni amit infra távirányítóval tudnék irányítani. van egy TSOP1736-om. A problémám ott kezdődik, hogy mit tudok én kezdeni az infra vevő jelével PIC BASIC-ben? Mivel értelmezzem? a PULSIN valamiért nem sokat csinál nem növeli a változót semmivel sem hiába kapja a jelet. Valakinek valami ötlet esetleg?
16F675-ben nincs PORTA, valamint az AD bemeneteket sem ártana letiltani.
Hali
Mint potyo irta, abban GPIO, es TRISIO van, nem PORTA, es TRISA.
Üdv!
Persze, megnéztem az adatlapot is. Átírtam de mégsem akar jó lenni nem villog a led. Mi lehet a baj? main: ANSEL = 0x00 GPIO.0 = 0x00 TRISIO.0 = 0x00 While TRUE GPIO.0 = %00000000 Delay_ms(1000) GPIO.0 = %00000001 Delay_ms(1000) wend end. Idézet: De nem elég figyelmesen... „Persze, megnéztem az adatlapot is.” ![]()
Konfigurációs biteket hogy állítottad be?
WDT le van tiltva? INTOSC van kiválasztva? MCLR fel van húzva? Nekem így működik. Igaz, nem PICBASIC, de legalább annyira olvasható (JAL).
Üdv! Igen. A mikrobasic lefordítja, nem talál hibát, de a proteus-ban az áramkör Program or EEPROM data has invalid adress (2000) for this device hibaüzenetet ad.
Hali
Probald ki a MikroE szimulatoraban. Szerintem egyszerubb ott kiprobalni, mint mas programban. Tudod nezni a regiszterek valtozasat, es szerintem konnyebb hasznalni, mint a proteust. Amennyiben ott jol mukodik, akkor HW hiba lehet.
Üdv!
PIC BASIC-ben hogyan lehet a Timer-t idő mérésre használni? Olyat szeretnék hogy lemérni, hogy mennyi idő telik el a pic egyik lábának szintváltozásai között. eddig While ciklussal oldottam meg de az lassú
Nem tudom milyen procit hasznalsz, de peldaul a TMR1 alkalmassa teheto erre a feladatra. le kell nullazni mikor bejon az egyik el, majd a masik elnel kiolvasni. Persze nem tudom a Basic hogyan kezeli a HW-t, az interruptot, de igy egyszerusiteni, es pontositani lehet az idomerest. EnAz csinaltam olyan programot (persze asm es C nyelven), ami peldaul egy 36 osztasu tarcsanak merte a sebesseget. Az opto jelet bevittem a RB 4+ valamelyik labra, es a valtozas IT-t generalt. Az IT kezeleskor nullaztam a TMR1-et, majd a kovetkezo IT-nel kiolvastam, es ujra nullaztam. Igy meg tudtam merni a sotet es a vilagos idejet is. Elotte persze be kell allitani a TMR1 eloosztot, a mukodesi modot, mindent. De az adatlap altalaban segit.
Üdv!
Infra távirányítók jeleit szeretném dekódolni, találtam egy kapcsolást Bővebben: Link. A kimenetet rákötöttem egy másik pic-re amin van LCD de nem tudom kiolvasni. Ebben kérnék degítséget! A
Rajta van a támogatott mikrovezérlők listáján - ha ez volt a kérdés. Ez azt jelenti, hogy HEX állományt tudsz fordítani a Proton BASIC Compiler-rel. Azt nem tudom, hogy milyen progamozó készüléket akarsz használni, s hogy azt támogatja-e (ha nem, akkor a programozó saját szoftverével is belehet égetni a programot).
A Proton Compiler ingyenes változata legjobban a PIC18F25K20 alapú Amicus18 nyíltforrású hardvert támogatja, ami megvásárolható, de a dokumentáció alapján után is építhető. Ha valaki nem az FTDI USB-UART átalakítóval építi meg, akkor kicsit trükközni kell a Windows Registry-vel az automatikus letöltéshez, mert ostoba módon az FT232 VID/PID van bedrótozva a Proton IDE-be.
Üdv!
Kipróbáltam és LG videó/DVD kombó távirányítóra reagált. A többi márka (Philips, Daewoo) nem. Rákötöttem PC re soros porton és küldi az adatokat bár van, hogy azonosat küld több gomb esetén is.
Üdv!
Nekem ORION tv távirányítóra reagált a legjobban, de ebben a programrészletben a 200-at 100-ra írtam át: Getstartbits: PuLSIN GPIO.4,0,IRpulse_length(0) if IRpulse_length(0) < 200 then goto getstartbits Amúgy én átírtam 16F627a-ra, és egy LCD-vel jelenítettem meg, SEROUT helyett :LCDOUT $fe,1 ,DEC command.> |
Bejelentkezés
Hirdetés |