Fórum témák
» Több friss téma |
Szevsztok.
nincs véletlenül valahol értelmes magyarnyelvű leirás a pic-ek assembler programozásához
De van egy helyen csak most fejből nem vágom, de az elektronika.lap.hu-n asszem a pic-eknél megtalálod. Vagy pedig nézd meg a PIC-ekkel szeretnék játszogatni...című társalgótopicot
http://www.hobbielektronika.hu/tarsalgo/tarsalgo.php?id=40&pg=0
Bbatka!
Észrevettem valami furcsát. Az én sms frame-jeim nem olyanok mint amik az embedtronics honlapon vannak. Pedig már 4 sms-t is loggoltam. A tiéd viszont a meglévő foszlányból ítélve olyan. Szerinted ez mitől lehet? Én a Logomanager 1.3.0 és 1.3.2-vel küldtem. Te valami régebbivel?
Az assembly forrás amit feljebb beírtam kicsit hiányos. Logikailag úgy lenne értelmes még páratlan számú egyessel rendelkező karakterek esetében ki kell törölni a TXSTA.0-bitjét.
Kicsit leegyszerűsítettem a fenti kódot.A Picsimulatoros assemblybe csupán annyit módosítottam hogy a TXSTA.6 bitjét 1-be állítottam be. A TXSTA.0-ik bitjét pedig úgy értelmeztem mintha a paritásbit lenne. Tehát ahhoz hogy páratlan paritást kapjak páros számú egyessel rendelkező karakter esetében a TXSTA.0 bitjébe 1-et írtam be, páratlan számú egyessel rendelkezőnél meg 0-át. Az eredmény meglepett. Van ugyan 9.bit, de értéke minden esetben 0. A programot szimuláció nélkül írtam be a Pic-be. Ma délután végig fogom nézni bitről-bitre hogy mi is történik valójában. Nagy problémám, hogy a tárolós szkópom trigger szintjét nem lehet állítani, így minden kis zavarjelre ráfog. Kb. minden 50. indításnál triggerel csak rá a hasznos jelre. Nemtom mások ezt hogy oldják meg.
Nagyon sok anyagom van, de csak hétfőn tudom postázni neked. Addig a privátba küld el az email címedet, meg nézd meg amit Gory javasolt. Én is ezzel az anyaggal kezdtem el kb.3éve a programozást. Úgyanezt megtalálod az elektronika.lap.hu , Electric Power oldalán. Szerintem nagyon profi anyag.
Nagyon profi az FBus leírásod. Szerintem sokan örülnének neki. Most így nemtudom fejből a Logomanager verzióját. Nem lehet nagy jelentősége a program verzió számának. Rengeteget loggoltam én is és azt tapasztaltam hogy a frame sorszámozás elég zavaros. Az eszközszámról nem is beszélve.
Nekem nem a frame sorszámozással van a bajom:no: Mert ugye úgy néz ki egy sms küldés (mindegy hogy FBUs vagyMBUS), hogy adott a BUS frame, ez kezdődik a protokol id-vel méret..stb, aztán jön a küldött adatblokk, ami protokoltól független, hiszen az sms központ nem tudja hogy te milyen mobillal küldöd. És ez az adatblok ugye maga az sms blokk. És ez tér el a kettőnk logfájljában. Neked úgy van mint az embedtronics honlapon, hogy:
sms header sms küldés kódja sms központ stb... Nálam meg az sms frame haeder is más, aztán jön egy rakás bájt, utána cél telefonszám, megint ugyanaz a rakás bájt, aztán jön csak az smsközpont száma. Szóval nem értem, hogy akkor ez mitől lehet. Na mindegy, most nekiállok a picbe beleírni az sms küldő részt, aztán ha sikerül majd jelentkezek.
Amint a freemailedre írtam, szerintem a 3510-es FBusza más mint a 3310-esé. Ez azért van hogy nehezebben lehessen kiismerni a rendszerüket.
Akkor kapják be:yes:
Letöltöttem az icprog 1.05D verzióját a honlapról. Kb 20-szor olyan gyors mint a sima 1.05. És csomó hiba ki van javítva benne, ami a 16F877-nél előjött.
Én is az használom egy Propic2 clone égetővel. Azt nem tudom hogy a 18F252-höz használható lesz-e a párosítás. Rendeltem belőle a ChipCAD-től, mert a Kónya számos példakapcsolást már erre készít. Már akkartam kérdezni hogy te megépítetted-e az ICD2-t, és ha igen akkor milyen ? Bevált ? Az ICprog-ban azt hiányolom hogy pl.16f627a nincs benne. Mindig a 16f627 beállítással égetek. Meg azt hiszem a 16f628a-nál is úgyanez a helyzet.
Én egy gyári ICD2-t másoltam le 100%-osan. De nem akart menni a dolog, úgyhogy pár alkatrészt már újrahasznosítottam belőle. Szóval én most ilyen 300 Ft-ból összerakott égetővel működök. De eddig semmi gondom vele. Nem akarok 40 ezerért chipcad-es ICD-vel égetni. Annyit nem akarok rá áldozni. Amúgy 16F877-nél sincsen az A jelű a picprogban. De szerintem az nagyjából mindegy. Olyan nagy feladatot meg nem csinálok a közeljövőben amihez ez a 16F877 ne lenne elég. Most is csak a hely 10%-át használtam fel.
Sikerült elérnem hogy a telefon észrevegye hogy ráraktam a hardveremet. Ráraktam a telefont a szervízkábellel és kiírta a szokásos szöveget mint a logomanager esetén. Nem tudom még hogy mit mivel kell összekötni, de véletlen elkötöttem egy-két lábat amikor a DTR-t meg RTS-t akartam állítgatniés így sikerült.
Hi!
Eljutottam odáig, hogy a pic-ben van egy szinkronizáció (128 db U) meg a software verziót lekérő kód. Valamiért viszont a telefon nem akar semmit visszaszólni. Elvileg pedig DTR és RTS is jó szinten van. Mégsem csinál semmit. Lehet hogy levágom a csatlakozót a szervízkábelről és akkor úgy próbálkozok.
A házilag gyártott kábelemnél semmi jelentősége nem volt a DTR,RTS-nek. Igaz MBus. Csupán a tápot kapta volna erről, de valahogy nem működött, így külön tápot kellett használnom. Szerintem forraszd le a kábelt az elektronikáról, mert befolyásolja a működését. A PIC-et próbáld 3,3V-ról üzemeltetni és 1k-s ellenállásokkal kösd össze az RX-TX, TX-RX lábakat valamint a GND-GND mivel hardveres USART-t használsz. A többi csak sallang. DTR,RTS meg csak a PC-s kapcsolathoz kell. Bárcsak már én is a hardvernél tartanék. Optimista voltam amikor azt gondoltam hogy csak TXSTA,6 és TXSTA,0 portokat beállítom aztán megoldva a paritás probléma. Az első karakternél helyesen müködik a dolog, de a következőknél már teljesen kiszámíthatatlan az eredmény. Valószínüleg minden egyes karakternél letiltani engedélyezni kell a soros kivitelt. Egy pufferba nyomja be a pic a 8 bites karaktert + 9. bitet. Aztán hogy mi történik ott amikor már sok adat van benn ? Szóval egyenlőre nem tudom mi a titka. A jel pontossága viszont tökéletes a szkópos mérés szerint.
Hi! Próbáltam már úgyis a dolgot, hogy 2,7 voltos Zenert kötök a GND-TX és a GND-RX közé. De úgy sem akart működni, pedig sok helyen így láttam a neten. Szerinted a 3,3V meg az 1k ellenállás jobb megoldás? Most szétszedtem a kábelt, hogy megnézzem mi is van benne, úgysincs sehol 3510 kábel kapcsolás, de a benne lévő IC tetejét lecsiszolták így nem tudom mi lehet a tipusa.
A te bajodra az a probléma szerintem, hogy a 9.bitet már azelőtt be kell írni a helyére, mielőtt a másik 8 bit a TXREG-be kerül (Ahonnét majd a shiftregiszterbe). Szóval minden bit küldése előtt TXSTA,6 =1 kell és TXSTA,0= paritásbit.
3,3V-ról használni a PIC-et szerintem biztonságosabb mint zenerrel. Egyébként tök mindegy csak legyen meg a szükséges magas szint. Fogalmam sincs mennyi kell legyen az értéke. Gondolom kb.2,7V legalább.
Úgy próbáltam ahogy írod már mindenféle variációban. Kicsi belefáradtam. Azthiszem komplett inicializálni kellene minden karakter elött, tehát TXSTA regiszter engedélyező bitjét letiltani aztán újra engedélyezni meg a PIR1 regisztert törölni, meg valami ilyesmik. Az a baj hogy a shiftregiszterbe benne marad valami. Lehet hogy inkább assemblyben próbálkozok először.
Szerintem a 3510-es Nokiajádhoz az az FBus áramkör is jó kell legyen, amit te küldtél az egyik anyagban.
Nem jutottam előrébb. Állandóan a következő eredményt kapom ahelyett hogy mindegyik páratlan lenne.
Páratlan "A" 9.=1 Páros "A" 9.=0 Páratlan "C" 9.=0 Páros "C" 9.=1 Páros "A" 9.=0 Páratlan "C" 9.=0 Próbáltam a TXSTA.5 bittel letiltani az átvitel, aztán közvetlenül utánna újra engedélyezni. Ilyenkor nincs jel, letiltja. Délután késleltetéssel próbálkozok, hátha több időt kell hagyni a soros puffernek ahhoz, hogy kiürüljön. No persze ilyesmikről sehol nem írnak a Microchippék.
Hi!
Nem értem igazán a problémát, miért kellene mindnek páratlannak lenie? Ezek az eredmények jók, ennek kell kijönni. az "A"-ban 2 db egyes van binárisan, ha páratlan paritást akarsz, akkor még egy 1-est kell 9. bitnek küldeni. Ha párosat akarsz akkor meg 0-t kell mert páros számú egyes van benne. A "C"-ben 3 db egyes van ami páratlan, ezért ott pont fordítva kell kijönnie és úgy is írtad. Akkor most mi nem jó, ha ezeket így elküldi akkor a Look rs 232 értelmesen A-nak meg C-nek látja a megfelelő paritás beállításokkal, és teljesen frankó a dolog.
Az a problámám hogy az első "A"-nál még beteszi a +1 paritás bitet, hogy páratlan legyen, de a másodiknál már nem, így az páros paritású lesz.
És az nem lehet hogy a STATUs regiszter Carry-je itt is bezavar mint az RRF és RLF utasításoknál?
Nemtom. Fura az egész. Elkezdem MPlab-ban azthiszem. Sajnos a Picsimulator nem szimulálja az USART-ot rendesen.
Próbáld meg az a PICsimulatorban levő osszcilloszkóppal figyelni milyen jeleket küld. Vagy égesd be a PIC-be és kösd rá a gépre. Akkor kiderül hogy jó-e vagy sem. Majd délután megpróbálom a BASIC-el. Beégetem és akkor kiderül hogy jó-e vagy sem. Csak most nincs időm hétközben mert elkezdődött a suli.
A mérési eredményeim teljesen valósak, mikrovezérlőbe beégetve, rendes szkóppal figyelve. A Picsimulator szkópja nem mutat semmit hardveres szimulációnál.
A telcsid vszinű beázott.
1.) Mosd át alkohollal alaposan, majd száritsd ki (pl. hajszárítóval) 2.) végezd el a képen látható átkötést. És már cseng is. Hozzávalók: 1db Torx 6 csavarhúzó 1db vékony szigetelt vezeték Némi kézügyesség, és preciziós forrasztás. Kép: Hivatkozás
Hello!
Hogy állsz a projectel? Nekem már sajnos csak hétvégén van időm foglalkozni vele. Közben méregettem a volotkat a sorosporti csatlakozó lábán és az én hardwerem elvileg tökéletesen jó. Viszont ha az adatkábelt hozzákötöm még mindig nem akarja vinni. Nem tudok rájönni mi lehet a baj. Majd holnap kipróbálom a 3,3V os megoldást amit javasoltál, ha az sem működk akkor fogalmam sincs mi lehet a gáz. Hozzáteszem hogy az összes FBUS kapcsolásban én a 2,7-es Zenert láttam. Szóval vagy a 3510-es ilyen trükkös vagy fogalmam sincs. Kezdem feladni hogy valaha is kész lesz. Hacsak nem sikerül szereznem egy olyan telót, amihez több konkrét kapcsolás van a neten, mert ehhez semmi.
Dolgozgatom a projecten, de még mindig a paritás problémánál tartok. Nem vagyok az a feladós típus, úgy hogy előbb utóbb rájövök a megoldásra. Át tettem az MPlab-ba a Picsimulator assembly forrását és abban dolgozok. Nagyon sokféle változtatást kipróbáltam és lépésről lépésre végig szimuláltam a programot, de nem találom a hiba okát. A STATUS.C sem csordul túl. Arra gyanakszom hogy a hiba oka hardwares jellegű és nem publikált. Példát találni 9.bites páratlan paritásra meg lehetetlen. Itt és más fórumokon segítséget kérek másoktól, hátha valaki tudja a megoldást. Közben vettem egy 3310-est is. Úgy voltam vele most még lehet kapni, később meg esetleg nem.
Szkóppal megmérted a kábeled végén kijövő jel szintjét és pontosságát ? Ha a jel pontos akkor müködnie kell. |
Bejelentkezés
Hirdetés |