CCS GETC

G

GrandAlf

Guest
Olen haluavat lähettää numerot 0-255 alkaen k * e * il C51 on PIC16F628 ohjelmasuunnitteluun Kopio * S C. Näyttää siltä, että voin lähettää heille printf% U, mutta en ole varma siitä, miten saada ne.Jos olen jollakin rakennettu komennot, kuten GETC näyttää siltä, tulkitsemaan niitä merkkejä kuin numeroita.Oletettaisiin, voin lähettää 13, olisi tulkittava siten, CR, jonka GETC sijasta 13.joka on mitä vaaditaan.Minun tarvitsee vain saada numero, mutta ei echo sitä.Kaikki neuvot tervetulleita.

 
Tutustu CCS foorumi osoitteessa:

http://www.ccsinfo.com/forum

Saat paljon ideoita vain selailemassa niiden foorumi ...

Kaverit on lähes yhtä hieno kuin jäsenet täällä

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Hymyillä" border="0" />ystävällisin terveisin

 
Kiitos C-Man,

Onko sinulla joitakin hyödyllisiä juttuja siellä.Toinen kysymys, jos sallitte, Kuka tahansa osaa käyttää sarjaportin porttiin Atmel 89S8252 K * Eil C51.Tiedän, että se kutsutaan TXD vuonna ylä-tiedosto.Dont näyttävät löytää info asettamisesta baudinopeutta jne. Xtal on 12mhz, ja minun on sed että baudinopeus 300.Lisäksi oletan, että kun käytät printf% u, minun tarvitsee määrittää stream kuin TXD?.Sill learnig C, apua arvostetaan.

PS, Vain on toimitettava ilman handshaking.

 
Vain yksi ajatus.Kuten Haluan vain tulostaa yhden 8 bittinen numero kerrallaan,
voinko käyttää julkilausuma SBUF = oxxx;.Luulen, että minun on perustanut ajastimet varten baudinopeus, ole varma, miten työtä sen.Lisäksi olen käyttäen tiny RTOS, tämä aiheuttaa sarjapäätettä probs?.Pahoillaan!paljon kysymyksiä.

 
Tämä on lyhyt pätkä pois minun C51 ohjelmia alustaaksesi tiedonanto:

/ * RS232 Init osoitteessa 19200 Baud (käyttäen Timer1) * /
TH1 = 0xFD; / * 19200 baud@11.0592MHz * /
TL1 = 0xFD;
SCON = 0x50; / * 01011010b: UART Mode1, jotta vastaanotin * /
PCON = SMOD_; / * kaksinkertainen baudrate '/
TR1 = 1; / * käynnistää ajastimen 1 * /
ES = 1; / * Serial Interrupt annetun * /

Jos käytät keskeyttää ajaa RS232 ei pitäisi olla ongelma RTOS, mutta en ole käyttänyt RTOS joten en voi kertoa teille varmasti ...

toivomme, että tämä auttaa

 
Tämä on suuri C-Man, Miten laatia baudinopeus arvot?, Tarvetta käyttää 300 kanssa 12mhz xtal (järjestelmä kello 1Mhz).Going yrittää ladata Atmel käyttöturvallisuustiedote nähdä, jos voin löytää info, eivät odota sinua tekemään kaiken työn!.BTW, voit käyttää SBUF kuten edellä todettiin, näyttää kokoamaan OK, mutta ei testata vielä.

 
Ehkä Mr. Keil voi auttaa sinua

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Hymyillä" border="0" />hxxp: / / www.keil.com/c51/baudrate.asp

Ja kyllä vain käyttää SBUF saada / esittää
alk. / on 8051 USART mutta olet tarkistaaksesi USART lippuja, jos on mahdollisuus saada / laittaa uuden byte alkaen /
to USART.

Pelkään otsikko tästä aiheesta on hieman pois nyt ...

ystävällisin terveisin

 
On tulossa melko off topic mielestäni kuitenkin onnistuneet löytämään ratkaisun.

mitätön serial_init (void) (
SCON = 0x50; / / tila 1: 8-bittinen UART, jotta vastaanotin
TMOD | = 0x20; / / ajastin 1 tila 2: 8-Bit reload
TH1 = 0x98; / / reload arvo 300 baudia
TR1 = 1; / / ajastin 1 aikavälillä
ES = 1; / /
enable sarjaportti keskeyttää
)

kiitos neuvoja

 

Welcome to EDABoard.com

Sponsor

Back
Top