Fórum témák
» Több friss téma |
Fórum
Tomee-ról kiderül, hogy megszállott "BINARISTA"
Idézet: „244d - azért mert a végén van és mégse az utlosó 55d - mert a bin kodja szép egyenletes. (01010101)” Öregem, ez szuper szöveg volt! Leestem tőle a székről! :nyes:
pc-ről akarsz egy piccel beszélgetni és kéne valami vezérlő karakter ami a picben beállít vagy elindít valamit, ha jól értetem.
Szerintem vállasz 2 egymástól a legtávolabb a leghülyébb a legritkábban előforduló karaktereket és azokat válaszd vezérlő karaktereknek. pl.: 244d és 55h 244d - azért mert a végén van és mégse az utlosó 55d - mert a bin kodja szép egyenletes. (01010101)
Sziasztok!
Az elozo problemat sikerult megoldani, itt a kovetkezo: ![]() Soros porton keresztul vezerlek PIC-et. Az lenne a kerdes, hogy hogy szoktak megcsinalni, a vezerlest pc-rol, pl. hogy egy szubrutin induljon el bizonyos esemenyre(gombnyomas), de mivel adatok is kikuldesre kerulnek (0-255), ezert egy bizonyos karakter vezerlokarakternek valasztasa nem lehetseges!? a.
ADC egynel tobb csatornaval..
Hi! Szerintetek mit nem csinalok jol a mellekelt program(reszlet)ban(ben)? Ha csak egy csatornat valasztok ki, hibatlanul konvertal, de ha mar kettot, olyan mint ha nem kulonulnenek el a csatornak. AN0-ra, es AN1-re egy-egy potmetert kotottem(2,2k), 1-5V-ig szabalyozva az analog feszt. Ha AN0-hoz tartozo valtozot kiiratom, es az ahhoz tartozo potmetert nem bantom, AN1-en meg valtoztatom a fesz.t, akkor mindket valtozo valtozik, es forditva is. Lehet h az idozites nem jo? bar 10ms-t varok a ket konverzio kozott! a.
Oké
Köszi az infókat! Ma már nem kérdezek töbet! Köszi mégegyszer
BSF azt jelenti, hogy a STATUS regiszter RP0-ás bitjét "1"-es szintre állítod...ezzel azt mondod, hogy váltson Bank1-re
BCF ennek az ellenététe, ezzel "0"-ba állítod az RP0-ás regisztert, vagyis visszakerülsz a Bank0-ba. A status egy belső regisztere a PIC-eknek...ebben tárolják az aktuális helyzetüket, információkat a futó programról (pl. egy előzőleg lefutott kivonás eredménye 0 lett-e, stb.). Nameg itt választhatsz Bank-ok közül is...
OK
És ezek mit is jelentenek?(az első és a negyedik sor nem tiszta, a TRISA és B az OK hogy mi. START BSF STATUS, RP0 MOVLW B"00011111" MOVWF TRISA MOVLW B"00000000" MOVWF TRISB BCF STATUS, RP0 . A BSF ,a STATUS és az RP0 és az utolsó sorban a BCF? Ezek érdekelnének
Nem tudom, hogyan lehet kilőni ezeket, de szerintem ezek csak figyelmeztetések, nem hibák...
Köszi
És ezek mit jelentenek? Hogyan lehet kiküszöbölni? Warning[205] C:MPLABSPROGRAM 1FUTóFéNY.ASM 1 : Found directive in column 1. (LIST) Warning[205] C:MPLABSPROGRAM 1FUTóFéNY.ASM 2 : Found directive in column 1. (ERRORLEVEL) Warning[205] C:MPLABSPROGRAM 1FUTóFéNY.ASM 4 : Found directive in column 1. (__CONFIG)
Az a megoldás, hogy a LIST parancs után következő sorba be kell szúrni ezt a sort:
ERRORLEVEL -302
De hülye vagyok!
![]() Nem vettem észre elsőre... ...tehát ahhoz, hogy a TRISA és TRISB regisztereket meg tudd változtatni, illetve értéket tudj adni nekik, ahhoz át kell váltanod a Bank1-re! Aztán ha beállítottad, vissza kell váltani a Bank0-ra, hogy ott dolgozhass tovább.
Igen le tudtam fordítani, és a hex fájl alapján le tudtam szimulálni is a PIC szimulátor progiban! De ha visszaolvasol a hibákhoz, akkor ott a BANK1 és BANK2 -vel van még valami, azok nem tünnek el!
Miért nem?( ezek:Message<302> C:MPLABSPROGRAM 1VALAMI.ASM 12 : Register in operand not in bank 0. Ensure that bank bits are correct. Message<302> C:MPLABSPROGRAM 1VALAMI.ASM 14 : Register in operand not in bank 0. Ensure that bank bits are correct. )
És most működik rendesen? Le is tudja fordítani?
Na megcsináltam.
Kivettem azt a sok NOP-ot a végéről, és csak egy időzítőt definiáltam a progiban, nem kellett a T2 így
Helló
tényleg csak kezdő szinten vagyok, most kezdek megimerkedin, hogy mit hogyan miért. Ez lenne a progi! LIST P=16F84 #INCLUDE "P16F84.INC" __CONFIG _XT_OSC&_CP_OFF&_WDT_OFF CBLOCK 0X0C T1 T2 ENDC ORG 0 START BSF STATUS, RP0 MOVLW B"00011111" MOVWF TRISA MOVLW B"00000000" MOVWF TRISB BCF STATUS, RP0 VISSZA: MOVLW B"10000000" MOVWF PORTB CALL DELAY MOVLW B"01000000" MOVWF PORTB CALL DELAY MOVLW B"00100000" MOVWF PORTB CALL DELAY MOVLW B"00010000" MOVWF PORTB CALL DELAY MOVLW B"00001000" MOVWF PORTB CALL DELAY MOVLW B"00000100" MOVWF PORTB CALL DELAY MOVLW B"00000010" MOVWF PORTB CALL DELAY MOVLW B"00000001" MOVWF PORTB CALL DELAY MOVLW B"00000000" MOVWF PORTB CALL DELAY MOVLW B"00000010" MOVWF PORTB CALL DELAY MOVLW B"00000100" MOVWF PORTB CALL DELAY MOVLW B"00001000" MOVWF PORTB CALL DELAY MOVLW B"00010000" MOVWF PORTB CALL DELAY MOVLW B"00100000" MOVWF PORTB CALL DELAY MOVLW B"01000000" MOVWF PORTB CALL DELAY MOVLW B"10000000" MOVWF PORTB CALL DELAY GOTO VISSZA DELAY: MOVLW d"150" MOVFW T1 DEL: MOVLW d"255" MOVFW T2 DEL1: NOP NOP NOP NOP NOP NOP NOP NOP DECFSZ T2, f GOTO DEL1 DECFSZ T1, f GOTO DEL RETURN END
Hát mivel még életemben nem használtam "akció közben" az MPLAB-ot, így a szimulációs részben egyáltalán nem tudok segíteni. Annyi volt, hogy párszor bekapcsoltam, miket tud, stb, aztán annyi.
Egyébként csak szólok, hogy a szerveren (amit belinkeltem ide), az elektros progik között van egy olyan, hogy PIC Simulator...az szerintem neked van kitalálva, mert le tudja szimulálni a kimenetek, regiszterek tartalmát, akár valós időben, akár lépésről lépésre... A szerverhez egyébként nem kell kód, se jelszó...anonymus-ként be lehet jönni bárkinek :yes:
Köszi
már fele megoldódott, már elkészítí a .hex fájl-t. De hol tudom szimulálni mondjuk a kimenetek éppen milyen állapotba vannak?
Ha tudod, szerintem tedd közzé a programodat...ha nem is az egészet, akkor legalább az első pár 10 sort, hogy tudjuk, mit ronthattál el.
Egyébként az egyik hibára van megoldás, mégpedig egy sort kell beszúrni a programodba, ami a 302-es hibaüzenetet kikapcsolja. Fejből nem tudom, mit kell pontosan beírni, de valaki biztos tudja rajtam kívül... Aztán talán a másik hiba...ahol ez a programod van...egy mappában...oda amellé az ASM fájl mellé be kell tenni egy 16F84.inc nevű fájlt is...ez tartalmazza ugyanis a PIC belső regisztereinek a címét. Ezt a 16F84.inc fájlt kötelező az ASM fájl mellé tenni!
Mi a hiba?
Make: The target "C:MPLABSProgram 1valami.o" is out of date. Executing: "C rogram FilesMicrochipMPASM SuiteMPAsmWin.exe" /q /p16F84 "valami.asm" /l"valami.lst" /e"valami.err"Warning[205] C:MPLABSPROGRAM 1VALAMI.ASM 1 : Found directive in column 1. (LIST) Warning[205] C:MPLABSPROGRAM 1VALAMI.ASM 3 : Found directive in column 1. (__CONFIG) Error[113] C:MPLABSPROGRAM 1VALAMI.ASM 3 : Symbol not previously defined (CP_OFF) Error[113] C:MPLABSPROGRAM 1VALAMI.ASM 3 : Symbol not previously defined (WDT_OFF) Message[302] C:MPLABSPROGRAM 1VALAMI.ASM 12 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:MPLABSPROGRAM 1VALAMI.ASM 14 : Register in operand not in bank 0. Ensure that bank bits are correct. Halting build on first failure as requested. BUILD FAILED: Sun Nov 27 12:43:16 2005
Nem jön be sehogy sem
A szerveren van fent egy leírás MPLAB 6-hoz...szerintem nem túl régi, tehát a 7.1-estől talán nem sokban különbözik.
És a szerver címe: Itt egy, mára már elavult cím szepelt.
Hali
Segítség kellene az MPLAB 7.1 programhoz(leírás kellene, vagy egy példa program, hogy mit is kell beállítani)! |
Bejelentkezés
Hirdetés |



rogram FilesMicrochipMPASM SuiteMPAsmWin.exe" /q /p16F84 "valami.asm" /l"valami.lst" /e"valami.err"