Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Úgy van ahogy írod, ez egy meglévő hardver, (8 csat. sms küldő) csak kértek bele egy olyan funkciót ami a nem releváns számokról érkező sms eket továbbküldi az egyik értesítendő számra. Mert így tudni fogják pl ha lefogy az egyenleg a kártyán (szolgáltatói figyelmeztető sms...stb) No ezért szívok ezzel... No nem mintha a 18 as szériát láttam volna már közelebbről...
igen, de nem férek el 1 lapon vele mert egy nagyobb sms nél kinövi a RAM tartományát...ilyenkor kéne váltani a másik RAM tartományra hogy ott folytassa a letárolást, de ez az ami nem megy....
Addig nincs is gond amig az sms elfér a A0-FF tartományban...de ha több a letárolni való info akkor már megáll a tudománya a szerkentyűnek...(meg nekem is)
A 0xA0-0xFF tartományt én leszűkíteném 0xA0-0xEF tartományra, mert ha írod a 0xF0-0xFF területet, az olyan, mintha a 0x70-0x7F területre írnál, és ott lehet, hogy más dolgaid vannak. Ettől függetlenül az IRP-s címzésnek a bank2-be mennie kellene, ezt jó lenne kitesztelned MPLAB SIM-ben. A soros porti vételre lehet stimulust gyártani, így az eredeti programot nem is nagyon kellene kiherélni ahhoz, hogy megnézd a szimulátorban, mi is történik valójában a karakterek letárolásakor.
Hűűűha..ez veszélyesen hangzik..márhogy azokon a bizonyos címeken más adatok is lehetnek..Lehet ezzel + megszivatom magam. Egyébként azért számolok ilyen ekkora letárolandó adatmennyiséggel (ami ugye relatíve sok..) mert nem tudni milyen, mekkora az az sms amit majdan át kell küldeni.
(És előre rettegek hogy majd miként kezeli le a kütyü az esetleges "összefűzött" smseket. Bár ennek kevés a valószínűsége mert ez egy ipari felhasználású modul (riasztási eseméyeket küld...hőmérséklet tartományon kívül esését..stb) tehát ( elvileg) erre nem szokás 250 karakteres újévi "jópofa" köszöntőket küldeni, de a lehetősége megvan rá hogy egyszer akár véletlenül kaphat egy ilyet is...) És szeretek előre gondolkodni...mi lesz ha...? Így kevesebb meglepetés ér általában...De lehet ez esetben meg kell oldjam a resetet is egy válasz sms ben... ha...megállna a kütyü. Idézet: „igen, de nem férek el 1 lapon vele mert egy nagyobb sms nél kinövi a RAM tartományát” Na de mi növi ki? Le akarod tárolni memóriába az egész SMS-t? Szükség van erre? Nem elég csak a telefonszámot kinyerni?
En hirtelenjeben ezt az algortimust otlottem ki, nincs most itt szmulatorom igy nem tudom kiprobalni, de meg kellene kukkantani, hogy jo-e? Lehet persze, hogy van ennel egyszerubb megoldas is...
Nem. Sajnos nem csak az sms küldőjének számát hanem az sms szöveges tartalmát is át kell küldenem, ami akár 160 karakter is lehet. Mert hát érkezhet rá akármilyen tartalmú sms. pl jön rá egy szolgáltatói sms hogy " Ezúton tájékoztatjuk hogy egyenlege 300 ft alá csökkent. Egyenlegét feltöltheti bármelyik T pontban vagy legközelebbi ATM automatán. További szép napot kíván Önnek T-Mobil" De jöhet rá egy "LRN " is ami egy vezérlő sms és arra szolgál hogy a kütyünek újabb telefonszámot akarnak feltanítani...és ez csak 3 karakter.... (ezt egyébként nem küldi tovább mert a modul számára "ismerős" számról érkezett.) Szóval a dolog lényege az hogy tudjanak róla hogy ha a modulban lévő SIM kártyán lefogy az egyenleg....és mivel nem tudom épp milyen sms érkezik rá, muszáj a maximális 160 karakterrel számolnom...
Amugy miert nem egy 18F-el csinalod ahol van elegendo RAM-od es kevesebb szenvedes van az osszefuggo RAM teruletek atfogasaval? Raadasul nem cska egyetlen indirekt cimzo regisztered van...
Köszönöm kipróbálom, de előbb megpróbálom értelmezni mit is csinál ez a dolog. Izgalmasnak látszik..(nekem, de hát csecsemőnek minden új )
Azért mert ez egy kb 1 éve fejlesztett hardver, aminek a megrendelője azóta a hetvenhetedik + funkciót kéri beleilleszteni.... Ezért abból gazdálkodhatom ami van. eredetileg egy F628A val ment az egész..most azt kicseréltem 1 hónapja és átírkáltam 648A ra de már látom hogy ez a funkció csak kompromisszumokkal fog benne elférni. Pl azon agyalok hogy a RAM terület vége előtt megállok 5 regiszterrel onnantól kp 3 db ... karaktert meg utána egy "stb" t aztán osszák be. Egy Zsiguliba sem lehet versenyzongorát belegyömöszölni....
De ettől függetlenül még kéne tudjam használni a többi RAM területet is....idegesít hogy nem megy és nem tudom miért. De egyszer majd csak megértem ezt is...
Segítséget szeretnék kérni!
16f628 picet szeretnék külső oszcillátorról járatni, de nem megy. A config szó : 11111101101001 tehát az foszc2,foszc1,foszc0:001, amivel 4MHz körüli kristályt vagy rezonátort lehetne rezegtetni a 15-ös és 16-os lábakon, de mégsem rezeg.olyan rezonátorral is próbálkoztam ami egy másik kütyüben volt azzal sem szólal meg. Mindenféle kondik bekötésével próbálkoztam, semmi.Olyan előfordult, hogy ha megérintem a lábakat egy bekapcsolás történik de leáll, vissza már nem billen. A belső oszcillátorról megy. Szóval hol rontok valamit?
Hali
Esetleg egy probat meg lehetne ejteni a 18F1320-al. Nem 100 % labkompatibilis, de a tap, a MCLR, es a programozo labak ugyanazok. Ennek 256 byte linearis RAM-ja van, tehat nincsenek ezek az atlapolasok. Egyeduli problema lehet a labak kitekert kiosztasa.
Azt hogyan döntöd el, hogy el kell-e küldeni, vagy sem?
Az SMS nincs meg a GSM modulban? Minek azt benyalni a PIC-be, nem lehet onnan továbbítani ahová akarod?
Szia!
A propeller óra forrásában megtalálható egy 120 byte-os memóriatömb kezelése 16F628(A) -ra. Emitt egy 2*120 =240 byte-os a 16F886 -tal.
Csináltam egy teszt-projektet, szimulátorral tesztelgettem, az 1-es és a 2-es bankokban lévő, 2x80 byte-on körbe-körbe forogva írja a memóriába a fogadott byteokat. Az egész projektet mellékelem.
A bejövő hívások hívószáma, illetve az sms küldő száma alapján dől el. A kütyüben van 1 "master" jogosultságú szám (csak erre küld státusz (learn ok...batt low...stb) smst, erről fogad el vezérlő smst. (új számok tfeltanítása / törlése / teljes memória törlése (ilyenkor nincs hívásszűrés bárkitől fogad el hívást és smst)és csak erre a számra küldi vissza az "ismeretlen számokról érkező smseket. Van a masteren kívül 4 db "user" szám, ezekre is megy az sms de csak a riasztásokról. Nyílván azokat az sms eket sem küldi át amik a master számról parancs sms ként érkeznek....jól ki van ez találva, működik is rendesen. ( szenvedtem is vele eleget.. )
Ez amit írsz elgondolkodtató....mivel eredendően nem így volt megírva a program nem is gondolkodtam ezen. Egyébként kb 2 éve mikor ennek nekiálltam te mondtad...: "Le kell tárolni mindent a RAM ba aztán eldönteni mit akarsz vele kezdeni..." No, én ekkor e szerint meg is csináltam a programot, de persze akkor ezekről a plusszokról még szó sem volt... Persze az idézet nem szemrehányásként írtam....a mai napig köszönet érte! Ha nem írod akkor a mai napig csak gondolkodnék rajta hogyan csináljam... Csak mert az okát kérdezted miért nem úgy csinálom..hát akkor így volt a legkönnyebb, meg ezt a megoldást kaptam készen tőled. És milyen jó is volt egészen addig míg vérszemet nem kaptak a megrendelőim....
Eddig akkor okés, tehát a telefonszámból el lehet dönteni, hogy elküldöd vagy sem.
Ehhez elég az SMS-ből a telefonszámot átvenni, letenni RAM-ba, majd a többit venni, de nem tárolni(végig kell venni, mert a modul nem fogja abbahagyni amíg az adatok el nem fogynak. Ha félbe szakítanád a vételt, az hibához vezetne.). Ezután kiértékeled a számot, majd a kiválasztott SMS-st a modulon keresztül elküldöd, arra a számra amelyikre akarod. A kérdés, hogy tudod e vezérelni AT parancsokkal a modult úgy, hogy a kiválasztott SMS-t küldje el. Ha igen, akkor meg van oldva a kérdés!
Ja, lehet félreértettelek..Az nincs rostálva hogy milyen sms eket küldjön tovább, csak az hogy kinek. Ha nem arról az öt számról érkezik az sms amik fel vannak tanítva a panelnek, válogatás nélkül átküld mindent a master számra. Ha nincs egy hívószám se letárolva (tehát nincs hívásszűrés sem) akkor nem küld semmit mert nincs is kinek... Úgy van megoldva hogy az első feltanított szám a master, ezt chekkolja induláskor a meghatározott eeprom területen. Ha itt nem talál számot akkor nincs hívásszűrés sem. A bejövő sms eket lehetne szűrni pl a szolgáltató száma alapján, de akkor nem lenne szolgáltatófüggetlen a modul. Mert ugye ahány szolgáltató annyiféle számról küldik az smst. Bár le lehetne tárolni az eepromba mind a hármat fixen, mint referenciát, és le lehetne chekkoltatni az sms kiolvasásakor....Igen, ez is egy lehetőség! de inkább az sms szöveg hossza az ami a gondot okozza. A szolgáltatók is egy egész litániát írnak ha fogy az egyenleg...lentebb részleteztem pl a tmobil sms tartalmát kb...
Igen, ez egész más megvilágításba helyezi a dolgokat, ráadásul egyszerűbbnek is látszik. Átnyálazom a modul adatlapját meg eljátszom vele megy e a gyakorlatban. Most hogy írod....az sms ek amúgy a SIM kártyán vannak tárolva...Különben nem kéne külön AT paranccsak kikönyörögni őket hha ki akarom olvastatni. És erre akkor jöttem rá mikor a sok teszt után egyszercsak az istennek se ment a ketyere..mígnem rájöttem hogy betelt a SIM kártyán az SMS ek nek fentartott ha jól emlékszem 25 memóriahely. Ezért az én programomban is van egy rutin ami minden sms érkezése és kiértékelése után törli a kártyáról az sms eket. Fent hibát kiküszöbölendően....
Egyelőre köszönöm a sok segítséget..a bőség zavara... átnézem szilva és trudnai kódját (megpróbálom megérteni..) és megnézem mit lehet kezdeni a modullal az AT készletét illetően. (lehet hogy még kérdezek.... )
Köszönöm mindenkinek.
Szia!
Csak egy ötlet a tárolásra: külső I2C buszos EEPROM ráépítése a NYÁK-ra. 4 eres szalagkábeldarabbal megoldható (Vcc, SCL, SDA, GND). Akár több SMS-t is tárolhatsz.
Igen, ez eleg szellemes megoldas -- IRP biteket ha levesszuk akkor ugyanolyan hosszu, mint az enyem, azonban tetszik, hogy csak akkor modositja az FSR-t mikor mar tudja mire kell...
Végre ismét a koleszban. A lefordított "hex" betöltése közben ezt mondta a PICKIT2. Kell vele foglalkoznom?
Naná! Nincs konfigurációja a hex fájlban a PIC-nek! Olyan hexet kell fordítani, amibe belefordul a konfig is.
Mivel forditottad le? Abba nem tudnad bele rakni a konfiguraciot?
Ha nem akkor MPLAB-ba importaldd be a HEX-et, a konfiguracios editorral allitsd be a kivant dolgokat majd ahogy mondja is exportald ki a HEX-et.
SD kártyát is rátehet akár, csak a fő kérdés az, hogy egyáltalán szükséges-e eltárolni egyet is!
Én nem akarlak lebeszélni a kódok megértéséről, de itt szerintem semmi értelme ekkora memóriát elpazarolni, ami amúgy is nagyon szűkös!
Ezt MPLAB-bal készítettem. És bármit is csinálok, mindig ugyanezt a figyelmeztetést dobja vissza. Valaki megcsinálná nekem. Ebben a hozzászólásban:Konfig bitek benne vannak a konfig bitek. (De az asm fájlban is benne vannak.) (Mostanában vacakol a gépem. Lehet az MPLAB-bal is történt valami.)
(Itt a teljes progi mindenestül: progi) |
Bejelentkezés
Hirdetés |