Fórum témák
» Több friss téma |
Nem bántásként írjuk le, de egy kusza félkész kapcsrajz és a "de benne van csak most nincs ott", nem segít a hibakeresésben. Hidd el, hogy mindenki segíteni akar, de legyél Te is partner a táncban...
![]()
Most egy kicsit lemaradtam...
Vilmosd, Pepebá és Röntgen: a 4,7k ellenállás sorba a bázissal megoldotta a próblémám. (Én nem tudok ilyeneket mert nem vagyok elektrós). Köszi a segítséget. icserny: a Tina-val dobtam össze gyorsan egy rajzot, és nem rajzolta ki a másik 2 táplábat, de be van kötve attól függetlenül. köszi. Üdv mindenki
Sziasztok még mindig a ds1307-el SZENVEDEK. Addig jutottam hogy a kijelzőn a következő forma jelenik meg 00:00:00. A dátummal még nem foglalkoztam. Valaki meg tudná nézni a kódot miért nem ketyeg a ds1307 mert a másodperc egyáltalán enm változik.
Szoval az utolso olvasasnal nem ACK, hanem NACK kell mert maskepp nem fejezi be az olvasast. Azt viszon most nem fogom kibogaraszni hogy a Mikroe "szuper" Lib-jeben hogy lehet ezt megmagyarazni a PIC-nek. Sajnos van egy-ket elvarazsolt dolog ezeknel a szerbeknel. Ezert is nem szeretem hasznalni ezt a "C" varianst.
Nagyon nem értek hozzá, de az adatlapjában a tipikus kapcsolásnál van egy elem, amit már más is említett neked, de a rajzodon nincs. Lehet, hogy félreértettél valamit. Az az elem egy áramforrás 3 V.
Igen de az csak akkor kell hogyha áramtalanítod a kapcsolást azaz a ds1307 Vcc lábáról lekerüla +5v akkor ne felejcse el az időt mint a pc-k alaplapján. Ha ezt nem akarom akkor az elem helyét földre kell húzni.
Ez amit irtam a kiolvasasnal szamit. Viszont ha nem jol olvasol akkor nem tudom mit csinal a chip.
Bocsánat, ha nagyon mellé trafálnék, a C nem az én nyelvem, csak próbálok logikázni. Talán nem mondok hülyeséget. A kijelzés végén 1 másodpercet vársz? Nem lehet, hogy közben elszalasztasz valamit?
Tényleg bocs ha hülyeség. Idézet: A STOP előtti I2C1_Rd(1); helyett I2C1_Rd(0); kell „Azt viszon most nem fogom kibogaraszni hogy a Mikroe "szuper" Lib-jeben hogy lehet ezt megmagyarazni a PIC-nek.”
Csak azt nem értem hogy mondjuk kiolvasom az időt mondjuk 01:01:00 és ezt mindig egy végtelen ciklusban olvasgatom de nálam ez soha nem változik a ds1307-ben mert mindig ezt olvassa ki a masterem ez miért van?
A kiolvasásá függvényem végén ahogy icserny írta I2C1_RD(0)- val lezárom a kiolvasást.
Azt hittem ez nem egy bonyolult feladat de mégis már 2 napja feladja a leckét.
Szerintem olyan problémát kellene keresni, amit teljességében átlátsz, fejben követni tudod, hogy mi történik a háttérben, és ellenőrizni tudod, hogy azt csinálja-e a program, amit szeretnél.
A tanuláshoz, hibakereséshez más megközelítést kellen választani! Itt hiába kérdezősködsz, ha olyan programnyelvet/fordítót használsz, ami elrejti előled a lényeget, mi pedig nem ismerjük/nem használjuk azt a fordítót. A PIC és az RTC adatlapjában elvileg minden le van írva, amire szükséged van. A gyári C18 fordító pedig olyan támogatói könyvtárakat biztosít, amihez a forráskódot is mellékelték. Így még arra is van esély, hogy az esetleges gyári hibákat kibogarássza belőle az ember (volt már rá példa!), vagy jobbat írjon helyette. Nehéz megérteni, hogy miért nem a járt(abb) utat választod.
Na en pl igy fognek hozza: SQW a INT labra. IT-t beloni valamelyik elre. IT-ben bebillenteni egy bitet. Foprogramban amikor a IT bit 1, kiolvasas, kiiras, IT jelzobit -> 0. Ugye masodpercenkent jon az IT, tehat a uC masodpercenkent fog foglalkozni a RTC es a LCD kezelesevel. Ez azert lehet jo, mert Te varsz minden ciklusban 50 mS-t es lehet ez nagyon gyors az eszkozokhoz. Amugy sincs ertelme egy masodperc alatt huszszor olvasni-irni mivel uj informacio csak minden masodpercben van.
Ps Az ujban mar 1000mS, de jobb lenne a RTC-hez szinkronozni a programot.
Jó reggelt!
Ezzel a pic-kel ismeretlenbe tévedtem. Amit HP41C-adot dat-file azzal a pickit mostmár bármit felismer, de ez pic 16f1826-ot csak akkor ha 3,3V vagy ez alatt van a vdd. Pedig nem LF-es. A banváltást meg nemértem, nem is láttam még ilyet hogy 32-bankja legyen. Így aj ól megszokot STATUS bitek nélkül még rendesen inicializálni sem tudok. Van a banksel utatsítás amit csak homályosan értek felteszem relatíve "ugrik" de vissza nem kell? vagy hogyan lehet érthetően bankot váltani visszaváltani. Mert így még egy I/O port beállítás sem megy. Köszi.
Továbbá, látom hohy 49 utasítása van kérdezném azok hol lelhetők fel? Hogy Mennyiben szükséges az I/O beállításhoz a LATB LATA ANSELA ANSELB?
Úgylátom ez egy új fejezet, mert van itt baj jócskán -még- WREG, FSR0H FSR0L, FSR1L, FSR1H ,BSR ezek látom valami cím mutatók illetve közük van hozzá csak nem értem.
Mielőtt teljesen szétoffolnád a topikot a fölösleges kérdésekkel, olvasd el a PIC "honlapján" található dokumentumokat, különösen az adatlapot és a szoftver migrációs dokumentumot. Ott minden le van írva részletesen, a 32 bank is (valójában ennél a mikrovezérlőnél csak 8 db van kihasználva, ha jól látom). Az is, hogy több indirekt címzésre használható regiszter van, ami a PIC18 felé közelítő felépítésnek köszönhető. (lehet, hogy nem volna butaság legalább felületesen a PIC18 felépítésévell is megismerkedni?)
A kulcs a BSR regiszter, ebbe a regiszterbe kell beírni a bank sorszámát... Érdekes regiszterek vannak minden ilyen kontroller 31. bankjában...
Az adatlapjában, a 28 fejezetben: Instruction Set Summary
Köszönöm, már legalább I/O portok mennek ...
Akkor mondjuk decimálisan értéket adok a BSR-nek. És abban abankban lesz? pl:
movlw.0 movwf BSR ;> bank0 ? movlw .1 movwf BSR ;> bank1? ésígytovább?
Inkább
Még inkább
stb..
igen a banksellel próbálkoztam de ott ha nem küldök egy banksel latb-t is akkor semmi, hol van olyankor. Azthiszem hogy az első példád átláthatóbb. Elmagyaráznád hogy ha banselezek akkor tulajdonképpen mitcsinálok.
|
Bejelentkezés
Hirdetés |