skrive kode for mobile grensesnitt

I

itsfanidotcom

Guest
Hei der, jeg trenger aa Smal hjelp,
Jeg gjorde en krets som grensesnitt min mobil med microcontroller å sende melding via mobil, ved hjelp av seriell port.
Jeg trenger å skrive kode for det.
hvis jeg trenger å skrive kode i c språk for transmiting noen data fra et register over mikrokontroller AT89c51, hvordan burde jeg gå,
Jeg mener alle kan hjelpe meg angående en prøve kode for å gjøre det.
takk.

 
her er eksempelkode ......u kan få ideen fra det# Include sbit førte = P1 ^ 0;
void init ()
(
TMOD = 0x20;
Th1 = 0xFD;
SCON = 0x50;
TR1 = 1;
)
void overføre (unsigned char * a)
(
mens (* en! = '\ 0')
(
SBUF =* en;
mens (TI == 0);
TI = 0;
A ;
)
)
unsigned char RCV ()
(
mens (RI == 0);
tilbake SBUF;
)
void main ()
(
unsigned char ok [2];
unsigned char j;
ledede = 0;
init ();
overfører ("på");
overfører (0x0d);
for (j = 0; j <2; j )
ok [j] = RCV ();
if (ok [0] == 'O' & & ok [1] == 'K')
ledede = 1;
)

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />
 
hei abbas1707,

Du har skrevet ac kode som grensesnitt for mobil til microcontroller.Hvilken mobil u har brukt som grensesnitt til microcontroller?

 
jeg anvendt Ericsson T29.men u kan endre det etter behov din!

 
Jeg kan ikke forstå koden helt ... hvis mulig plz forklare litt,,, spesielt,
# Include sbit førte = P1 ^ 0;
mens (* en! = '\ 0')
ok [j] = RCV ();
if (ok [0] == 'O' & & ok [1] == 'K')
ledede = 1;

kanne u endre koden for T610 ...og nevner også hvor vi gir telefonnummeret til den personen som vi ønsker å sende meldingen ...
takk på forhånd.

 
# Include sbit førte = P1 ^ 0; / * Her en LED er koblet til Port1, 0th bitmens (* en! = '\ 0') / * Her dets ment for lesing et tegn * /

ok [j] = RCV (); / * Den mottatte tegn lagres i en matrise * /

if (ok [0] == 'O' & & ok [1] == 'K') / * dersom den mottatte tegnet er "ok" det vil lyse den førte koblet til porten * /

ledede = 1;

 
takk for svare ... andre commandds er ok, men ima litt forvirret i,
mens (* en! = '\ 0')
fra der mikrokontrolleren vil lese tegn,,,
er dette tegnet gitt av brukeren ...
hvis vi ønsker microcontrolller å lese tallene fra hvilket som helst sted i minnet eller fra noe registrere hva blir kommandoen.
og hva du følgende kommando wil do
overfører ("på");
og det siste fra der vi vil gi mobilnummeret til personen whoom vi ønsker å sende meldingen hvis mobil er festet med mikrokontroller

 
hei itsfanidotcom:!:
som jeg sa u at u kan endre det som u trenger.har u klarte å sende melding fra hyper terminal:?: I så tilfelle så u kan enkelt gjøre det i denne koden.
for eksempel IE vil slette en melding fra mobilen
for t29s kommandoene er
AT CMGD = 1 / / kommandoen for å slette meldingen som jeg har i første omgang
/ / Mermory plassering
OK / / med denne utgangen på mesasge i mobilen min på første plassering
/ / Vil bli slettet

så i kode u kan gjøre det som

overfører ("AT CMGD = 1");
overfører (0x0d);
for (j = 0; j <2; j )
ok [j] = RCV ();
if (ok [0] == 'O' & & ok [1] == 'K')
ledede = 1; / / hvis førte gløder så u har slettet meldingen fra mobilen din.første u besøk http://www.dreamfabric.com/sms/

og forstå hvordan å sende sms.og hvis u fikk den da prøver å skrive koden for det, eller hvis u ansikt noen problem så viser det i forumet vil vi forsøke å løse det!

lykke til!

 
takk for ur svaret,,,
ja jeg har overført meldingen heldig gjennom hyper terminal ... og nå jeg ønsker å gjennomføre AT-kommandoer gjennom programmering.
jeg ha msged u i ur innboksen ...og jeg forklarte i detalj ..jeg har en liten begrepet programmering av AT kommandoer.Jeg har sjekket nettstedet, men det forklarer begrepet PDU modus ... og jeg ønsker å sende melding i tekst-modus.
men først pl fortelle meg om jeg har å gjøre funksjoner:
overfører ();
RCV ();
av meg selv, eller de er bygget inn i kompilatoren ....
og også plz spesifisere om ønsker å sende meldingen gjennom noen minneområde så hvordan skal jeg skrive dette i AT CMGW,,, som i hyper terminal fikk vi en ">"-tegnet, hvordan vil vi skrive dette i C.
Takk igjen for svar.

 
U må skrive en funksjon for å sende og motta.Det wonmt være forhåndsdefinert i kompilatoren.

For denne ">" sign u være nødt til å bruke "0x1a".Dens verdien på ctrl-ZLagt til etter 59 sekunder:U må skrive en funksjon for å sende og motta.Det wonmt være forhåndsdefinert i kompilatoren.

For denne ">" sign u være nødt til å bruke "0x1a".Dens verdien på ctrl-Z

 
hei itsfanidotcom,
her er løsningen for ur problem ..
her er programmet for 8051 i c for å sende meldingen også er merket på Proteus og fungerer bra.
håper det vil hjelpe U..

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />Beklager, men du må logge inn for å vise dette vedlegget

 
Tusen takk Abbas for ur svar ...sikkert det wil hjelpe meg stort ...Nå im skal sjekke denne koden på mikrokontrolleren ... plz be for meg.

 
hei Abbas,
im ikke i stand til å kompilere koden som u ga.
Jeg har C51 kompilatoren og im kompilere koden, og vil generere HEX-filen, men im får følgende feil:
kanne u tel meg hva som kan være problemet
im også feste code.if mulig plz tel problemet ...
takk for ur samarbeid. (koden er inne. DOC forlengelsen endre den til. c, banen til inkludert. h-filen er samme som vist i programmet)
Beklager, men du må logge inn for å vise dette vedlegget

 
Broren sjekke koding

Metoden er
void init ()
ikke
void int ()
plz korrekt it.and det vil b ingen erreors .....<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />også lukke selene for hvis du er i hoved ..

hvorfor. c-fil er ikke å få koblet til innlegget mitt.??hvertfall sjekke korrigert DOC-fil
Beklager, men du må logge inn for å vise dette vedlegget

 
hei Abbas,
thaks for ur hjelpe,
koden u sende etter fjerning feilen er nå utarbeidet og vellykket. HEX-filen er generert.
men problemis at når jeg prøver å kjøre hex-filen i Proteus, im stand til å se bare OK i terminal-skjermen, ikke noe etter det, jeg tror det er noe problem med checkOK ()-funksjonen, fordi i den tredje linjen i den viktigste funksjonen ofter sende vognretur OxOD (jeg har brukt kapital 'D'og Smal' d 'begge deler, men ingenting endres), checkOK () funksjon er ikke å svare OK.første tel meg i ur-program u skrev 0x0d er det riktig, eller vi bruker 0x0d for vognretur.
plz hjelpe meg i denne forbindelse, slik at im stand til å kjøre den på selve kretsen ....
takk.im også feste responsen plz sjekk ...
thaks igjen for ur samarbeid ... jeg vet det tar tid ur ...
Beklager, men du må logge inn for å vise dette vedlegget

 
yaaaaar
HyperTerminal fungerer som ur mobil.
1.kontrolleren sender AT kommaet med transporten tilbake til ur cellen (hyper terminal her)
2.cell har å svare OK (u vil skrive OK i hyper terminal)
3.this OK kontrolleres ved checkOK ()-metoden og hvis OK mottatt så
4.controller sende AT CMGF = 1 vognretur til ur celle
5.again ur cellen må svare OK (u være nødt til å skrive OK igjen i terminal)
6.checkOK () vil sjekke dette OK igjen, og hvis den er mottatt da
7.controller sender kommandoen AT CMGS = "mobilnummer her" vognretur til celle
8.mobile Telefonen vil sende tilbake en spørsmål dannet av fire tegn.De er de vognretur karakter, at linefeed karakter, det ">"-tegnet og rommet karakter
Så, her er hva du faktisk vil se i et terminal program som Hyper Terminal:
AT CMGS = "mobile num her"
>
men jeg har forenklet det
fordi kontrolleren må sende meldingen strengen når det blir mellomrom så når u vil skrive plass på terminalen i Proteus kontrolleren vil sende meldingen strengen
og hvis det var en mobiltelefon (ikke terminal) meldingen blir sendt til nummeret u spesifisert

DAT det alogo bak programmet
jeg håper det u ville forstå det og wil gjøre i henhold til fremgangsmåten jeg forklarte ovenfor<img src="http://www.edaboard.com/images/smiles/icon_neutral.gif" alt="Nøytral" border="0" />

og 0x0d er samme som 0x0d

 
ohhhhh thaks kameraten ...Jeg hadde forventet at terminalen programmet vil svare på OK og andre tiltak av seg selv ...
Vel jeg har igjen kjøre den i Proteus, og det fungerer fint.
men først tel meg at im ikke kunne se ok og> tegn ... men i bildene u sende tidligere, er det ok kan bli sett ...er det noen innstilling som kreves for denne ..

 
når u kjøre den på Proteus deretter høyreklikk på virtuell terminal og velge "Echo trykt tekst" og DNT bekymre> tegn
ok

 
TAKK, U hjulpet meg mye ... jeg vil implementere den i hardware, og til slutt jeg vil oppdatere u abt fremdriften ...

 
hei Abbas, jeg sende en melding til u..plz lese den ...
dernest jeg trenger å vite det som pinner av DB9,,, som er festet til max232,,,, bør gjøres kort og hvilke pinner bør brukes som Tx og Rx når DB9 kontakten er festet til T630 mobil ...takk

 

Welcome to EDABoard.com

Sponsor

Back
Top