Kaip duomenų rėmo į PIC18F4550

B

brucelee2

Guest
Hi all, Im asmeninis projektas mano kambaryje. HMI (žmogaus ir mašinos sąsaja), 800 * 480 ekrano. Jis veikia įvairių komandų, kuriuos siunčiate (I ryšio protokolas ir dataframe) standartinis serijos ryšys. Dabar yra: ekrano siunčia duomenų rėmo mikrovaldiklio nurodytą spartą. Šis duomenų rėmo atrodo kažką panašaus į: 0xAA (paleidimo) 0x73 (jutiklinis ekranas koord) (16 bitų X Coord) (16bit Y Coord) 0x33 0x3C 0xC3 todėl bilieto kainos dydžio bitai, juda, kai aš stumti jutiklinis ekranas. PIC turi tik 8 bitų REGISTRUOTI UART MODULIS, spėju. Taigi, kaip aš galiu gauti šią daugelio BITS į kintamąjį? (Išlaikyti Baud NORMOS EŽTT ...) Gal pertraukia? Im naudojant MIKROELECTRONIKA MikroC kompiliatorius. Yra paprastas UART biblioteka šiek tiek atrodo, kad 8 bitai vienu metu ...... Laukiame išgirsti iš jūsų vaikinai! Cheers Bruce: D
 
Labas, Kaip Pics USART moduliai yra nustatytas 8 arba 9 bitus ir X / Y koordinatės yra siunčiamos kaip 16 databits tada tik taip galiu pamatyti tai būtų galima padaryti, parašykite savo programinės įrangos serijos nuorodą. Jei ieškote truputi beldžiasi jūs rasite keletą pavyzdžių, kai lustai paleisti iš USART uostų, arba tiesiog neturi jokių usarts, todėl programinės įrangos usarts turi būti parašyta, kad užpildyti spragą. Jie tikriausiai visi 8 bitų režimu, bet tikrai padės jums, kaip padaryti tai acceprt 16 bitų.
 
Ok ačiū už galiuko. Matau Mikroelectronica "MikroC programinė įranga UART biblioteka, bet ir vėl tik 8 bitus handeling :-( .. Manau, kad blogai pabandyti kai''bitų banging'soon: p. manau, kad jos ketina būti gana sunku dėl didelių duomenų kadrų .. .. jei kas nors yra keletas gražus pavyzdys (-iai) C prašome gali turėti kopiją.
 
Ar kas nors žino, kaip požiūris bitų banking? Būti Kai kas, pavyzdžiui: 1. Sukurti išorės nutraukti, kai įvyksta pradžios bitą. 2. Pradėti laikmatis 1 / 3 * 1/baudrate ty imties PIN. 3 kartus per bitų. 3.Dissable nutraukti per šį laikotarpį. 4. perkelti į kintamųjų 5.check bitai stabdymo bitų 6.disable laiko ir vėl įjungti išorinį nutraukti Kaip tai garso?
 
Gali būti, kad prietaisas grąžina ne 16 bitų vertę, tačiau du nuosekliosios 8 bitų reikšmės, reiškia, sudurtinius į 16 bitų.
 
jos siunčia ją 0x?? 8 bitų Hex vertybes, bet didelis srautas iš karto už nustatytą spartą. todėl aš negaliu suvaldyti šio Pics UART modulis, o inplement kai kurie programinės įrangos, tai padaryti. Bitbanging. Bet kaip tai padaryti bitbanging ką aš turiu išsiaiškinti. Proceso schemoje proceedures / renginiai padėtų, aš manau
 
Taigi tai HMI naudoja standartinę serijinę ryšys ", bet ne standartiniu serijos protokolas, ty, be pradžios bitų, STOP bitų kadravimo. Kaip apie part-/model-number?
 
Jis naudoja 8N1, todėl 8data bitai, sustoti ir pradėti šiek tiek, be lyginumo bitas. Spėju, kur jiems painioti, kad ji siunčia didelius duomenų rėmo. Bet MCU sustabdyti HMI siųsti kitą baitų, registre, jei dar perskaityti mano kodą? Arba HMI ir toliau .... : |
 
Arba HMI toliau ....[/citata] Taip, išskyrus atvejus, kai abu bendraamžiai gali naudoti aparatūros Handshake. UP neturėtų turėti problemų skaityti buferio duomenų sprogo ir juos vėliau apdoroti arba net skristi procesas - tinkamas programavimo. Gaunami duomenis UART nutraukti įprastiniu metodu.
 
Yra ranka purtyti komanda siunčiama HMI, tačiau tai nėra aparatūros. siųsti 0xAA 0x00 0x33 0xC3 0x3C, kur "0x00''ranka purtyti dalis poilsis rėmo konstrukcija. yra tik 3 jungtys HMI -> Tx Rx GND. Naybe naudojant interrup routunes TX PIN dirbs!
 
Pseudo-kodas [kodas] priėmimo nutraukti: jei gavo pobūdžio "AA" Laikyti buferio Buffer_pointer + + kitas Buffer_pointer = 0 Message_received = 0, jei Buffer_pointer == length_of_message + 1 ruožtu išjungti imtuvą Message_received = 1 pabaigos nutraukti [/code] .. . atsakymo dalis atrodo pakankamai paprasta, o ne reikalauti pertraukia, bet ji būtų lengva padaryti, kai imtuvas yra raštuotas.
 

Welcome to EDABoard.com

Sponsor

Back
Top