Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Idézet: „Talán a végére lehetne járni, hogy mit akar, amihez nincs rendszergazdai joga.” Általában az ilyen programok vagy a telepítési könyvtárba akarnak írni, vagy a Registrybe, vagy a Windows rendszermappába akarnak belerondítani (többnyire licenszmenedzselés címen). Az egészben az a szánalmas, hogy direkt az ingyenes Lite módot választottam telepítéskor, nem pedig az időkorlátos demót. De mindegy, már letöröltem.
OK, csak azt is nézd meg, hogy kompatibilis legyen az MPLAB IDE-vel is (nehogy IDE-tlenkedjen! )
Idézet: „ORG 0x0- ra ezt hibaüzenetet adja ki:Error - section '.org_0' can not fit the absolute section. Section '.org_0' start=0x00000000, length=0x00000058 és ezért írtam át.” De nekem ugy tunik nem olvastad el azt amit ezzel kapcsolatban irtam? LKR file van a projectedben? Elolvastad a relativ kodolasrol amit irtam? (linket is oda tettem neked). Ha nagyon hirtelen kell akkor egyszeruen vedd ki az LKR file-t, es tedd vissza az ORG 0 -t... A "nem jut tovabb" az lehet csak szimulatorban van igy. Tegye be egy LED-et egyik labra, mielott meghivod a rutint LED-et gyujtsd ki, es mikor kilepsz altasd el... A LED kigyujtasa ele tegyel egy mondjuk 200ms kesleltetest, hogy meg ne trefeljon a gyors ki-be kapcsolgatas... Idézet: „A bűvös számokat is lecseréltem, de még a hiba mindig ugyanaz..” Buvos szamok lecserelese szimbolumokka nem a hibat javitjak, hanem atlathatova teszik a programodat es konnyebben elkerulhetove is teszi a hibazasok ellen - persze ha valamelyik buvos szam rossz volt, akkor tobb esely van, hogy a szimbolumokka torteno alakitas soran ki is javitod az adott hibat.
Szia!
van PICkit2-öm és rá is van kötve a Tx lábra. sem logikai analizátorral sem a hypertermilánon nem látok adatküldést... a programot csatolom. Hol lehet benne a hiba?? mindig megáll egy helyen és nem lép tovább... BTFSS TXSTA,TRMT GOTO $-1 nincs egy működő ilyen adatot küldő progid??
Rossz hírem van: nálam a beküldött programod lefordul, s a jelzett helyen sem akad el (néhány kört fut, mire továbbmegy, de ez természetes). A szimulátor UART I/O ablakában az "ATrs" üzenet jelent meg.
Lehet, hogy csak türelmetlen voltál?
Gyanús nekem is, hogy csak türelmetlen volt, mert a kódban nem láttam semmit, ami miatt elakadhatott volna örökre.
Szimulátorban köved a program végrehajtását!
Az állábbi sor miatt végtelen ciklusba kerül, mielőtt a karakterküldés elkezdődne:
Szerintem ezt akartad írni:
Idézet: „Szerintem ezt akartad írni: settle decfsz dataL,1” Szerintem meg ezt "akarta" irni:
Na, pontosan ilyen hibak miatt kell kerulni a buvos szamokat!
Köszi.
hát lehet,h.türelmetlen, de már egy ideje ezen agyalok,h.mit ronthattam el.. változtatás nélkül nálad lefutott??csatolnád?? én a debugger/run és animate-el próbálkoztam és ott véltem a megakadást látni, ez még nem a szimulálás, csak futtatás. mi a szimulátor neve, hol találom??hogy állítom be?? lehet,h.rosszat nézek, rosszul csinálom már ez sem kizárt..
igen ez volt az első beállításom, amit átírtam..
milyen szimulátort használsz??
PIC simulator IDE?? vagy milyet érdemes??
Idézet: „változtatás nélkül nálad lefutott??csatolnád??” Minek? Már te csatoltad a #307638 sorszámú hozzászólásban. Az MPLAB beépített szimulátorát használom. (Debugger -> Select Tool -> MPLAB SIM) Animálást még sohasem használtam. Tegyél töréspontot az állítólagos elakadás utáni utasításra, s futtasd! Nálam tegnap óta MPLAB 8.15a van fönn.
Ja, ez azért szimulátor, mert nem a PIC-en fut, hanem a PC-n fut, s azon szimulálja a PIC-et.
köszi, igaz, akkor tényleg nem történt változtatás.
amugy felttem a PIC Simulator IDE-T és ott kiírta nekem az AT-t "A szimulátor UART I/O ablakában az "ATrs" üzenet jelent meg." hogy állítom ezt be??
Soros adatok kiküldését szeretném megtanulni PIC16F877-tel. A mintaprogram müködik mert a terminál progival a kapcsolat rendbe, de van a progiban macro használat, amit sehogyan sem sikerül megértenem.
KI_SZOV MACRO MIT MOVLW HIGH MIT ----------------------- ----------------------- CALL KI_TXT_SOROS ENDM --------------------------- --------------------------- ;TESZTEK KI_SZOV LASER KI_SZOV HIBA -------------------------------- -------------------------------- SZÖVEGEK MOVWF PCL LASER DT "LASER ",0 Honnan tudja ez a makro, hogy a kiirandó szöveg első karaktere pl. a 28-dik sorban lesz? A teljes mintaprogi a Kónya könyvben megtalálható
Idézet: „"A szimulátor UART I/O ablakában az "ATrs" üzenet jelent meg." hogy állítom ezt be??” MPLAB IDE (a Debugger Tool korábbn ismertetett beállítás után) menüjében: Debugger -> Settings UART1 I/O fülre kattints, majd - Enable Uart1 I/O (pipa kell) - Output: Window (rádiógomb) Alkalmazás vagy OK után az Output ablakban megjelenik egy új, UART I/O feliratú fül. Na, abban jelenik majd meg az UART kimenete...
köszi.
megtaláltam csak egy kicsit gondolkodnom kellett... amugy kiírja amit szeretnék, köszönöm! csak eddig ezt nem néztem és azthittem,h.nem jó, mikor az volt most akkor jöhet a folytatás...
Hasznos tananyag a Mississipi State University honlapján: PIC24F bevezető szintű tananyag
This is the home page for a PIC24-based Introductory Microprocessor course taken by sophomores in Electrical Engineering, Computer Engineering, Computer Science, and Sofware Engineering. The course covers PIC24 assembly language programming for approximately 6 weeks, then hardware interfacing for the remainder of the semester using the PIC24 C compiler and the P24HJ32GP202 using a parts kit plus breadboard approach. Idézet: „Honnan tudja ez a makro, hogy a kiirandó szöveg első karaktere pl. a 28-dik sorban lesz?” Sehonnan, az a progam más részében van meghatározva. A Macro csak az intézi el, hogy MIT vigyen ki, azaz melyik címről olvassa be a letárolt szöveget.
Üdv!
Papiron rajzolgatok, irogatok, de nem értek valamit. pl: ha ezt az értéket kapom a bementere: b'1111000' akkor az azt jelenti, hogy balra kell fordulni. Én erre xor-al rátolom, hogy b'11110000' akkor az eredményem nulla lesz, tehát bal kanyar, ha nem nulla, akkor tovább tesztelem és tárolom, hogy b'11111111' ha ezzel nulla akkor egy elágazás jön, megállok a teszteléssel, ha nem nulla, tovább tesztelem és rátolok egy b'00011111' és ha ez nullla akkor egy jobb kanyar jön. Na de én azt honnan tudom meg, hogy az eredményem b'00000000'-e? Mert emlitetted a STATUS regiszter Z bitjét, nha de nem tudom, milyen feltétellel figyeljem ezt. Szóval elkadtam, segitenél?
Nézd meg a BTFSS, BTFSC utasításokat! A STATUS reg ugyanolyan regiszter, mint bármelyik másik(van címe!), tehát szerepelhet bármelyik utasításban. A benne lévő jelzőbiteket lehet a nevükön nevezni! (Z, C, stb.)
Pont ez a szép a PIC utasításkészletében, hogy a STATUS regiszter Z bitjét ugyanúgy tesztelheted, mint az A,B,C stb. PORT x-edik bitjét, vagy a RAM nnnn című rekeszében elhelyezkedő bájt m-edik bitjét.
BTFSC reg,bit ; Bit test, Skip if Clear (ugrik ha 0 az adott bit) BTFSs reg,bit ; Bit test, Skip if Set (ugrik ha 1 az adott bit)
Sziasztok!
A/D konverziót szeretnék csinálni a követlkező képlet szerint: Vout=Tc*Ta+Vo Vout lesz a beolvasott digitális érték. Tc = 10 mV/fok Vo = 500mV Ehhez a Vout-al kéne számolni, amit a szenzorból olvasok ki és a uC ADC modulja 10 bites bináris számként ad vissza. Majd én a Ta-t akarom kiküldeni decimális értékben karakterként. Ta=(Vout-Vo)/Tc=(Vout-0,5)/0,01= ___ [V] Hogy tudnám ezt megvalosítani assembly-ben?
Idézet: „Hogy tudnám ezt megvalosítani assembly-ben?” Tenyleg nem maceralaskeppen, de mi a konkret kerdes? Hol akadtal el? Ugye nem azt varod el tolunk megirjuk helyetted?
Fixpontos vagy lebegőpontos aritmetikával.
Gondolom a fixpontos az egyszerübb, viszont a lebegőpontos a pontosabb megoldás. Nekem elég most ez egyszerűbb megoldás.
Rendben, köszönöm nektek! Na most ne üssetek agyon(agyhelyen), lehet nagy baromságot kérdezek .
Azt mostmár tudom hogy a BTFSC vagy BTFSS-el figyeljem, ezt edidg is gondoltam(rosszul fogalmaztam az előző kérdésemet) de legaláb megerősítettétek az elképzelésemet. Nekem az a problémám, amit nem sikerül felfognom, hogy honnan fogom én, azt tudni, hogy mind a hét bitem nulla-e? Jó értem én hogy a STATUS reg Z bitje megmodja, na de a Z bit honnan fogja tudni, hogy az eredményem nulla-é avagy sem? Ezt nem tudom összerakni.
Engem csak a logikája érdekel, hogy hogyan lehet egy ilyen képlettel számolni. Hogyan valósítható meg ez a megoldás. El nem várom, de néha sokat lendít rajtam egy kis segítség
Onnan, hogy amikor végrehajtod a XOR utasítást, akkor a keletkező eredmény nulla értékétől függően áll be a STATUS Z bitje (nézd csak meg a megfelelő XOR utasítást az adatlapban, látni fogod, hogy az állított bitek között ott a Z). Magyarul a Z vizsgálatával azt tudod eldönteni, hogy a legutoljára végrehajtott XOR eredménye nulla lett-e (természetesen akkor nulla az eredmény, ha mind a 8 bit nulla).
|
Bejelentkezés
Hirdetés |