pagpili ng mga tukoy na halaga mula sa streaming mensahe sa rs232

A

adnan_merter

Guest
hi lahat, i ako pagdidisenyo ng bagong hardware na maaaring makipag-usap sa isang panlabas na aparato sa pamamagitan ng rs232. Aking hardware ay dapat na magpadala ng mga ilang utos sa panlabas na aparato at makatanggap ng ilang tiyak na halaga. ang problema; EXT na iyon. aparato ay nagpapadala ng maraming ng halaga at impormasyon na wala i kailangan. kailangan i upang pumili ng ilang mga halaga mula sa data na mensahe na ipinadala sa pamamagitan ng EXT. aparato. Paano i gawin iyon? i ako gamit at pamilyar sa ccs c tagatala at pic16f877 ay ginagamit para sa hardware. salamat.
 
na rin sa tingin i ikaw ay pagpaplano upang gawin ang ilang mga uri ng reverse enginering sa loob ng isang RS232 device ... sa unang kailangan mo upang suriin ang lahat ng mga data na kahit ang unuseful data suriin paano ito makapag-transmited ... isang serial sniffer ay maaaring ng ilang mga paggamit (gamitin i libreng serial port monitor paghahanap sa @ google) minsan ang aparato bloats pack ng data sa libreng ... sa na kaso maaari ka maghanap para sa isang data sinchronization (maaaring isang nakatagong character na tulad ng STX o isang karaniwang CRLF (0x10 at / o 0x13) iba pang mga oras ito tumugon sa expecific kahilingan mula sa PC. na ang kung saan kailangan mo ang serial monitor port at ng maraming libreng oras ... siyempre, maaari kang pumunta microcontroller paraan (bumuo ng iyong sariling serial port sniffer) ngunit maaaring tumagal ng maraming pagsisikap .... i pumunta sa software sniffer paraan ... isang beses ba kayong ilang mga halimbawa ng real data (parehong ascii at hex format, upang suriin ang mga nakatagong data), paki-post ang mga ito dito kaya't sinuman ay maaaring magbigay ng higit pang mga pahiwatig sa pagkuha lamang ang mga bahagi na kailangan mo ...
 
hindi i ako sinusubukang gawin ang ilang mga uri ng reverse engineering, lamang i ako sinusubukang basahin ang mga halaga mula sa isang aparato keylocker at alam i eksakto ang mga data na ito ay nagpapadala ng (kabilang ang mga nakatagong character). Nagagawa na i pagbabasa ito sa pamamagitan ng aking pc programa na nakasulat sa C + + / CLI. maaaring i-filter at mask ang lahat ng data sa pamamagitan ng software, ngunit ito ay isang maliit na naiiba sa pic. Wika ay hindi perpekto at hindi isama ang mga kinakailangang function. i ako gamit ang isang ReadLine () function sa computer, na lamang nagmamalasakit para sa LF na character, hanggang nakikita na character na ito naghihintay at mag-imbak ang lahat ng mga natanggap na data buffer, sa lalong madaling natatanggap nito LF na character na function na ay magbabalik ng mga linya bilang isang string . ngunit kasing layo ng alam i walang ReadLine () function sa CCS C tagatala, ngayon naghihintay sa iyong advices, kung ano ang dapat i gawin?
 
maaari kang mag-post sa higit pang impormasyon sa iyong aktwal na proyekto? aparato ay pagbabasa? o tha raw data na ito ay nagpapadala? maaari kang mag-post ang mga piraso ng code na hindi ka maaaring mag-produce sa PIC-C? (Hindi ko alam kung paano kailangan mong WriteLine upang basahin ang data? O gamitin ang writeline upang magpadala ng mga command [sa kasong iyon, maaari mong palitan ang mga ito sa isang printf may "\ n \ r" sa dulo ng string])
 
Paumanhin tungkol sa ang WriteLine () i ginawa magsulat mali ay ito ay ReadLine, hindi i ay mahalaga kung ano ang uri ng aparato ito ay, ito ay nagpapadala ng isang id at isang halaga bawat bawat linya at lahat ng linya nagsisimula sa SOH o STX karakter at dulo may CR + LF karakter, na kung paano i basahin mula sa computer na linya sa linya. maaaring i magsulat ng isang readline () function na sa pamamagitan ng paggamit ng mga character na ito?
 
mangyaring mag-post ng ilang mga halimbawa ng data (hindi kailangan sa aktwal na totoong data, ngunit maaari kang mag-post ng isang bagay na upang magsimulang mag-isip tulad ng data na natanggap mo Mixed sa pagitan ng mga data hindi mo kailangang) habang ginagamit mo ang ReadLine, na function na naghihintay para sa isang CRLF sa bumalik ng isang string ng data ... maaari mong ipatupad somekind ng read linya function na ngunit ito ay nakasalalay sa ang buffer sukat na requiered para sa iyong application (sa PIC Hindi namin masyadong maraming data espasyo sa isang PC) * I-edit * Mayroon i isang pagsilip sa isang ol 'CCS sa tulong ng file at nagpapahayag na ito upang magkaroon ng isang nakakakuha ng () function na kung saan basahin ng string hanggang sa nakita nito ng pagbalik ... ito ng ilang tulong??
 
ang dataline ay ito; [attach = config] 72,035 [/-attach] ang tanging bagay na kailangan i ay isang ReadLine function na, at i implemen ito, ngunit pa rin havent sinubukan sa chip
Code:
 magpasinda readline () {int i = 0; magpasinda ch, msg [40]; habang (ch! = LF) {ch = getc (); msg [i] = ch; i + +;} return msg;}
may maaaring maging ilang mga error syntax, hindi i ako quailified :)))
 
mangyaring suriin ang nakakakuha ng () function na [hindi ang getc ()] sa tingin ko dapat itong gumana ... tungkol sa iyong code ... mukhang ok, ngunit nais i itakda ang array ng msg bilang static (ang picc alam kung ano ang isang static na variable?) o ay i ilagay ang mga ito sa labas ng readline function na ...
Code:
 magpasinda msg [40]; magpasinda * readline () {int i = 0; magpasinda ch; habang (ch! = LF) {ch = getc (); msg [i] = ch; i + +;} return msg; }
sana mayroon kang # tukuyin ng LF 0x0A sa isang lugar sa ang PICC
 
salamat sa iyo, ay i subukan ang code na ito sa lalong madaling bilang maghanda i aking circuit ay i ipaalam sa iyo wheter ok o hindi
 

Welcome to EDABoard.com

Sponsor

Back
Top