| Autorius | Pranešimas |
|---|
winit_a
Prisijungė: 16 Lap 2003 Žinutės: 17
| 15 vasaris 2004 5:42 Kaip sukurti UART su programine įranga (nenaudojamas SBUF) dėl 8051 | | |
|
| Kaip sukurti UART Su programinė įranga? Mano projektas Naudotos 3 UART (normalus turi 1 UART su HARDWARE P3.0 ir P3.1)
8051 MCU@11.0592MHz Kaip sukurti UART naudojamas P2 ar P1 sąsaja RS-232 |
|
| Atgal į viršų | |
 |
pisoiu
Prisijungė: 31 gruodis 2002 Žinutės: 723 Padėjo: 24 Vieta: Rumunija
| 15 Vas 2004 11:58 Re: Kaip sukurti UART su programine įranga (nenaudojamas SBUF) dėl 8051 | | |
|
| Labas, Mano nuomonė: tai nusispjauti sunku. Jūs turėsite padaryti tai naudojant nutrūksta, o 8051 yra santykinai lėtas, valdytojas, jo efektyvumą lieka pagal 1mips ne 11,0592 MHz laikrodis klasikinių 8051 versijos (1instruction ciklas = 12 takto ciklą). Daugiau nei vienas serial port įgyvendinama programa valgyti beveik visus procesorius laiko, ypač jei norite eiti į 115200bps su uostų, arba jei norite įgyvendinti visus galimus parametrus (6/7/8 duomenų bitai selecteble, 1 / 2 stop bitai, pariteto nelyginę / net / ženklas / vieta / nėra, srauto kontrolės pasirinkti xon-xoff/hard/none). Mano sugestion yra naudoti modifikuotas architektūra 8051 iš cyprysowego, arba naudoti scenix mikrokontrolerio (www.ubicom.com). Dėl scenix valdytojas galiu pateikti kodas 8 uarts kartu. Tai jei norite, įgyvendinti programinės įrangos. Jei Yau nori įrangos, galite naudoti max3100 (maksimali).
Geriausias, |
|
| Atgal į viršų | |
 |
Ajay
Prisijungė: 29 Vas 2004 Žinutės: 31
| 01 Kov 2004 0:10 Re: Kaip sukurti UART su programine įranga (nenaudojamas SBUF) dėl 8051 | | |
|
| Galite sukurti vieną UART (be to, naudojant SBUF) naudojant specialų laikmatis ir raštu labai greitai kodas pasukti bitų. Į gaunamus pusėje (RXD), turite naudoti nutraukti Kaisčiai. Kai nutraukti ateina, paleiskite laikmaèiai ir skaityti pin statusą į nešiotis, pasukti ir sukurti savo gaunamus baitų. Veikia gerai iki 9600 Baud (aš naudoju jį).
Tačiau sukurti dvi DAUGIAU tuo pačiu metu? Užmirškite tai. Net jei jūs naudojate du skirti laiko, kad nutraukti kasdienybe tapo tokia didelė, kad jūs praleidote bitai.
Jei ieškote lėtai UARTs (1200 Baud arba lėčiau), tai šis metodas veikia iki 2 UART's. Atminkite, kad jums duos visų trijų laikmaèiai (viena naudojama Baud norma Geną už SBUF, vienas uostas 1 ir po vieną uostą 2 laiko), taip pat ir nutrūksta.
Taigi, geriau dizainas naudoti ARM lustą su dviem UART's (aš sukūriau 2 papildomus UARTs ne 19200 Baud su KIO) arba naudoti Triušiai valdytojas arba kai toks dalykas.
Ajay |
|
| Atgal į viršų | |
 |
beuch
Prisijungė: 06 Jun 2001 Žinutės: 65 Vieta: Prancūzija
| 03 Kov 2004 14:45 Re: Kaip sukurti UART su programine įranga (nenaudojamas SBUF) dėl 8051 | | |
|
| Labas,
turi žiūrėti į failo iš Philips interneto AN.
AN446
iki
|
|
| Atgal į viršų | |
 |
crazytnt
Prisijungė: 02 Vas 2004 Žinutės: 8
| 03 Kov 2004 17:43 Re: Kaip sukurti UART su programine įranga (nenaudojamas SBUF) dėl 8051 | | |
|
| Tai labai sunku. Rekomenduojame naudoti įrangą. |
|
| Atgal į viršų | |
 |
Google AdSense

| 03 Kov 2004 17:43 Skelbimai | | |
|
|
|
|
| Atgal į viršų | |
 |
J_expoler2
Prisijungė: 10 Gegužė 2003 Žinutės: 179 Padėjo: 19
| 03 Kov 2004 18:00 Re: Kaip sukurti UART su programine įranga (nenaudojamas SBUF) dėl 8051 | | |
|
| Labas i kai kurias mintis UART tačiau siųsti duomenis tik naudojant laikmatç 0 KALTAI T232 su TXD MOV TMOD, # 22h MOV TH0 # 70H MOV TL0, # 70H SETB AE SETB ET0 SETB TR1 ; ; ; ; funkcija siųsti duomenis: CLR T232; PRADŽIOS BIT SETB TR0 MOV R7, # 8
TX_LOOP: RRK A JNB TF0, $ MOV T232 C CLR TF0 DJNZ R7, TX_LOOP JNB TF0, $ SETB T232; STOP BIT CLR TF0 JNB TF0, $ RET ji gali padėti ir BR. |
|
| Atgal į viršų | |
 |
fireplus
Prisijungė: 31 spalis 2003 Žinutės: 195 Padėjo: 5
| 04 Kov 2004 3:29 Re: Kaip sukurti UART su programine įranga (nenaudojamas SBUF) dėl 8051 | | |
|
| pabandykite, kad
[hr: 5c6e3c7296] Gaisras į Viela: sm2:
|
|
| Atgal į viršų | |
 |
Ajay
Prisijungė: 29 Vas 2004 Žinutės: 31
| 08 Kov 2004 12:28 Re: Kaip sukurti UART su programine įranga (nenaudojamas SBUF) dėl 8051 | | |
|
| | J_expoler2 rašė: | Labas i kai kurias mintis UART tačiau siųsti duomenis tik naudojant laikmatç 0 KALTAI T232 su TXD MOV TMOD, # 22h MOV TH0 # 70H MOV TL0, # 70H SETB AE SETB ET0 SETB TR1 ; ; ; ; funkcija siųsti duomenis: CLR T232; PRADŽIOS BIT SETB TR0 MOV R7, # 8
TX_LOOP: RRK A JNB TF0, $ MOV T232 C CLR TF0 DJNZ R7, TX_LOOP JNB TF0, $ SETB T232; STOP BIT CLR TF0 JNB TF0, $ RET ji gali padėti ir BR. |
Tai tik gera perdavimo. Problema ateina, kai bandote gauti tiek pat. Visų pirma šis metodas niekada dirbti visiškai dvipusis ryšys, jei naudojami du skirtingi laikmaèiai.
Be to, gauti, jums reikės naudoti įrangos, kuri bus tiksliai paleisti laikmatį tinkamu metu ir padės perkelti duomenis. Antra vertus, šis metodas yra tik gera kaip pusė dvipusiu ryšiu.
Kitas sudėtingumą kilęs iš to, kad nutraukti kasdienybe tampa ilgi ir bus sukelti problemų, praleidžiant bitai. Atminkite, kad klaida bus sukaupti per tam tikrą laiką!
Geriausias būdas yra naudoti lustą, kuris yra daugiau serijos uostai (ARM, uPSD iš ST ir tt)
Ajay |
|
| Atgal į viršų | |
 |