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 |