Fórum témák
» Több friss téma |
"Memory Programming Specification"
7.3 bekezdés.
Köszönöm.
Ebben sem találtam, mert ezt már néztem. Idézet: „7.3 Data EEPROM The programmer should be able to read data memory information from a hex file and write data memory contents to a hex file. The physical address range of the 256 byte data memory is 0000h-00FFh. However, these addresses are logically mapped to address 1E000h-1E1FFh in the hex file. This provides a way of differentiating between the data and program memory locations in this range. The format for data memory storage is one data byte per address location, LSb aligned.” Az egyetlen cím a Hp41C által ajánlott 0xF000 volt amire helyesen reagált! Ebben sem hivatkozik erre a kezdőcímre.
Idézet: „Hol találom meg bármelyik PIC-ben az EEPROM memória címét?” A linker scriptben. Például a 16f1825_g.lkr állományban ezt látom:
Mivel a 16F utasításai 14 bitesek, nem férnek el egy byte -on. A hex állőmány címei byte -osak, az utasítások, memória területek cime a Midrange családban word -ös. Ezért a hex állományban a cimek kétszerese szerepel. 0xF000 * 2 = 0x1E000
Idézet: „7.0 ... Because there are two bytes per word, the addresses in the hex file are 2x the address in program memory.” Ebben a leírásban van egy jó memória térkép is.
Üdv. Lenne ez a kódom ami működik is , pontosabban fordulatszámmérést végez. De nekem elég lenne bőven az is ha csak 8 bit szélességgel számolna , azaz 65535hz plafonra gondolok. Így nem kellene ilyen óriási számokkal osztania a kódnak ami nagyon lefogja a picet. 18f4550-en megy a kód és a timer0 -át használja (portb.b0) az impulzusok figyelésére. Ezen felül valami nullázó kiegészítés sem ártana hozzá.. csináltam olyat hogy a kód végére írtam hogy rev = 0 ez ki nullázza de nekem úgy tetszene jobban hogy állandóan figyelné a felfutó lefutó élek váltakozását és ha netán megszűnik vagy lassulnak a jelek kövesse azt. Valaki tudna segíteni hogy a felső megszakításos résszel mit kéne kezdenem hogy ne 16bitben számolgasson?
A hozzászólás módosítva: Márc 12, 2014
8 biten 255-ig tud számolni 0-tól, a 65535-ig számolás az a 16 bit "sajátossága" !
A hozzászólás módosítva: Márc 12, 2014
Tényleg.. hülyén fejeztem ki magam. De azt még nem tudom mikén lehetne megoldani a kérdésem Vagyis azt a 1171875-ös számot szeretném valahogy eltűntetni a kódból.
A hozzászólás módosítva: Márc 12, 2014
Kedves István,
ez a linker script egyszer és mindenkorra megoldotta a bánatom. Erre az adatállományra gondoltam. Köszönöm.
Azért is idéztem be, mert amire szükségem volt nem írta a dokumentum!
És egy olyan választ vártam, ami hosszútávon megoldja a gondom. Az adatlap olvasás az a minimum, amivel kezdem a keresést. Viszont te megadtad a választ (0xF000) korábban, és utána javítottam is és már működik. Nem szeretek minden apró nyavalyával ide rohangálni, így a jövőben ezt a feladatot már magamtól is meg tudom oldani. Köszi neked is!
Sziasztok!
Egy kapumozgató automatikát tervezek.. az elektronika nagyjából megvan, PIC-el vezérelném a progi is nagyjából megvan (remélem jó is ), ami a kérdésem lenne relét egy uln2003-on keresztül rákapcsolhatok a PIC-re? Helyesebben Pic rákötve a 2003-ra és az pedig a relé behúzókörét szaggatja zárja...
Igen, lehet. Az adatlapon megnézed, hogy van-e védő dióda ebben az ULN-ben, akkor az sem kell. Ha nincs azt még be kell tenni a relé tekercs lábai közé, záróirányban.
A hozzászólás módosítva: Márc 12, 2014
Idézet: Ez volt a kérdés, a többi kérés ... ! „Valaki tudna segíteni hogy a felső megszakításos résszel mit kéne kezdenem hogy ne 16bitben számolgasson?”
Hát én ugy látom van benne.. de lehet hogy nem jól értelmezem!
Igen, közben megnéztem én is.
Hali.
Egy, számomra nem kis segítséget szeretnék kérni tőletek. Nem sokat értek a mikrokontorllerekhez, de ezt a kapcsolást szeretném megépíteni, illetve előbb leszimulálni. Ez egy ledmatrixos kijelző, scrollozott szöveggel. A kapcsolás itt található Összedobtam a kapcsolást a proteus 8 szimulációs programban, amihez egy PIC16F877A kontrollert használtam (a cikkben nem ez van) de ha elindítom, akkor az adott karakterek csak úgy jelennek meg a kijelzőn, hogy az összes led világít, tehát gyakorlatilag csak azt látom, hogy hány karakterből áll a kiírandó szöveg és az fut a kijelzőn. Ha esetleg valakit érdekel a dolog, illetve tudna segíteni, itt megosztom a programot és a szimulációs fájlt is.
Sziasztok!
XC8-as fordítóhoz és MPLABX fejlesztőkörnyezethez keresek LCD drivert. A kijelzőt összekötöttem a pic-kel, vezérelni is tudom, de jó lenne, ha nem 01000001-et kellene megadni karakterenként. Sokat keresgéltem, hiába...
A HD44780 kompatibilis LCD a 0x20 .. 0x7F tartományban a karakterek ASCII kódját használja. A 01000001 helyett nyugodtan írhatod 'A'. pl.: lcd_out('A');
Szia!
Tehát olyan, mint ha a karakter helyett egy "teli" négyzet lenne?
Ezt a kijelzőt használom az lcd_out függvényt nem ismeri fel a program.
sziasztok
szerintetek melyik PIC-et válasszam, ha követelmény hogy DIP40 tokos legyen, 5V-os,a lehető legtöbb digitális I/O-ja legyen , és a legolcsóbb?Semmi egyéb paraméter nem számít. köszi A hozzászólás módosítva: Márc 15, 2014
A kérdésed a kódok megadására vonatkozott, a válaszom is... Itt keresgélj, de kb 20 perc alatt meg is lehet írni...
Advanced Midrange: 16F1939. Midrange 16F887. PIC18: 18F2520, 18F2620.
köszönöm,
a 887 lesz a megfelelő. A hozzászólás módosítva: Márc 15, 2014
Pont ez a probléma, hogy ezeken a linkeken lévő kódok nem működnek. Már több órát szívtam velük. A 20 perc kicsit optimista becslés egy kezdő pikesnél.
Hogyan van bekötve? 8 vagy 4 bites módban használod? Milyen kontrollert használsz?
A hozzászólás módosítva: Márc 16, 2014
Megírtam a saját vezérlőmet (pár óra alatt). Most azzal bajlódok, hogy ~valós időben írjam ki például az adkonverter értékét. Itt tartok:
Működik ahogy kell, csak úgy szeretném, hogy ha tekerem a potit, változik a kijelzőn az érték is. Gondoltam beleteszem az egészet egy végtelen ciklusba és mindig törlöm a kijelző tartalmát. Ebből lett aztán káosz... Nem kérek kódot, elméletben tudnál segíteni? 4 bites mód, pic18f14k22 Köszönöm az eddigi segítségeket is!
A kijelző törlése nagyon sok időt vesz igénybe (~1640 us), a beírások pedig csak néhányszor 46us -ot. Ha végtelen ciklusban írsz a kijelzőre és nem vársz a kiírás után, csak azt látod, hogy az LCD töröl. A kiírások közé tegyél 1s várakozást vagy egy timer megszakítással időzítsd kb. 1 s -ra a kiíratásokat.
Felesleges törölni a kijelzőt, remélhetőleg egyféle méretű karaktersorozatot akarsz kiírni a kijelzőre. Az LCD kijelzők tudják a "képernyő" címzését is, tehát egyszerűen mindig ugyanoda címezd a kiírást.
A hozzászólás módosítva: Márc 16, 2014
|
Bejelentkezés
Hirdetés |