Kā uzglabāt saņēma plūsmu sērijas datu? (PIC16F877A)

V

vinodstanur

Guest
Hi, tagad es tikai sāku mācīties USART PIC. Es tagad var lasīt sērijas datus no RCREG reģistra PIC16F877A. Bet tagad es gribu saglabāt kārtas tastatūras presētas (jo HyperTerminal) 30 mainīgajiem. Ja es nospiediet tastatūras, tad attiecīgā ascii ir ievietots RCREG un es varu to saglabāt mainīgā. Pat, ka tā darba ... Tagad, PLS dod man nelielu priekšstatu, kā uzglabāt 10 secīgus taustiņa nospiešanas 10 variables ...
 
Kā Iegultās partneris teica, izmanto masīvu rakstzīmju izmērs ir vienāds ar rakstzīmju skaitu vēlaties saņemt, un rādītāju, kas masīvs. Te funkciju, kas saņem plūsmu rakstzīmes hiper termināla kodu.
Code:
 char * Receive_MSG (char * String, neparakstītu īstermiņa int MSG_Length) {neparakstīta īstermiņa int Indekss = 0; / / Message indekss laiku (index <MSG_Length) {String [Saturs] = Receive_Byte (), ja (String [Saturs] ! = 13 & & String [Saturs] = 10) {string [Saturs + 1] = '\\ 0', / / Set nākamo rakstzīmi uz NULL rādītājs + +;}! else {String [Saturs + 1] = '\\ 0 "; / / Set nākamo rakstzīmi uz NULL pārtraukuma;}} atgriezties String;}
 
Čau vinodstanur, Ja jūs izmantojat C, iepriekš minētās bloki un norādes var izmantot viegli šim nolūkam. Ja jūs izmantojat uzstādīšanā, lietošanā netiešo risinot ar INDF un MR reģistru (sk. datu lapu sīkākai informācijai). Paldies
 
sērijas sakaru labākā pieeja ir izmantot apļveida FIFO - Meklēt forumā, tur jau bija daži par šo diskusiju. Izmantojot tikai masīva nav ļoti laba pieeja - jūs uzzināsiet, ka laikā lasījumā, ja rakstītu notikuma jūs saņemsiet konfliktus. Padariet to profesionāli - izmantot FIFO
 

Welcome to EDABoard.com

Sponsor

Back
Top