Sari la conținut
ELFORUM - Forumul electronistilor

RS232 in C folosibil pe PIC12F675


lama

Postări Recomandate

  • Răspunsuri 6
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • lama

    4

  • Liviu M

    1

  • wangine

    1

  • MatyC

    1

Top autori în acest subiect

Coduri pentru uart sunt cu miile .

Depinde de compilatorul pe care-l folosesti.

Si daca-ti da cineva un cod, ce faci cu el.

Tu trebuie sa faci comunicatia in functie de parametrii tai , nu?

Examples: byte  x,y,z;printf("HiThere");printf("RTCCValue=>%2x\n\r",get_rtcc());printf("%2u %X %4X\n\r",x,y,z);printf(LCD_PUTC, "n=%u",n);
Si tipurile de format

Format:The format takes the generic form %nt. n is optional and may be 1-9 to specify how many characters are to be outputted, or 01-09 to indicate leading zeros, or 1.1 to 9.9 for floating point and %w output. t is the type and may be one of the following:c Character s String or character u Unsigned int d Signed int Lu Long unsigned int Ld Long signed int x Hex int (lower case) X Hex int (upper case) Lx Hex long int (lower case) LX Hex long int (upper case) f Float with truncated decimal g Float with rounded decimal e Float in exponential format w Unsigned int with decimal place inserted. Specify two numbers for n. The first is a total field width. The second is the desired number of decimal places.  Example formats:Specifier Value=0x12 Value=0xfe %03u 018 254 %u 18 254 %2u 18 * %5 18 254 %d 18 -2 %x 12 fe %X 12 FE %4X 0012 00FE %3.1w 1.8 25.4  * Result is undefined - Assume garbage.

Necesita

#pin_select U1RX=PIN_B12 // doar pentru test#pin_select U1TX=PIN_B14 // doar pentru test//#use rs232(UART1,baud=19200,parity=N,bits=8,stream=com_1)// or#use rs232(UART1,baud=115200,parity=N,bits=8)
Asta pentru CCS compiler.

Pentru C18, C30, Hitech

void InitUART1(void){	//unsigned char c;	U1MODEbits.UARTEN	=1; 		// UART pins controlled by UART	U1MODEbits.USIDL	=0;			// UART communication continue in Idle Mode	U1MODEbits.ALTIO	=1;			//UART using alternate pins	U1MODEbits.WAKE		=1;			// Wake up enable in sleep Mode	U1MODEbits.LPBACK	=0;			// Loopback mode disabled	U1MODEbits.ABAUD	=0;			//Autobaud process disabled 	U1MODEbits.PDSEL	=0;			// 8-bit data,  no parity	U1MODEbits.STSEL	=0;			// 1 stop-bit.	U1STAbits.UTXISEL	=0;			//Transmission Interrupt Mode Selection bit	U1STAbits.UTXBRK	=0;			//UxTX pin operates normally	U1STAbits.UTXEN		=1;			// Transmit enable	U1STAbits.URXISEL	=0;			// Interrupt occurs when one charater is received	U1STAbits.ADDEN		=0;			// Address detect disabled	U1BRG=31;						// Value for 57600 bps baudrate	//U1BRG=15;						// Value for 115200 bps baudrate	ConfigIntUART1(UART_RX_INT_EN & UART_RX_INT_PR4 & UART_TX_INT_DIS & UART_TX_INT_PR0);	}

printf("abc %i\n", (signed int)100 );
Vino cu mai multe detalii, nu are sens ceea ce ceri
Link spre comentariu

Are cineva (de dat) codul C ptr picc ptr comunicare seriala?Multumesc

Pentru wangine: cred ca nu te-ai uitat bine mai sus. Scrie clar picc. Ca librarii gata gasesc in CCS sau MikroC. Iar ce gasesti pe net este in general in asm.
Link spre comentariu

Vezi in directorul samples->serial->bitbang de la picc (in linux e in ...picc9.80a/samples/serial/bitbang), poate-l poti adapta la picul tau.

Link spre comentariu

Vezi in directorul samples->serial->bitbang de la picc (in linux e in ...picc9.80a/samples/serial/bitbang), poate-l poti adapta la picul tau.

Ma uit. Multumesc
Link spre comentariu

Are cineva (de dat) codul C ptr picc ptr comunicare seriala?Multumesc

Pentru wangine: cred ca nu te-ai uitat bine mai sus. Scrie clar picc. Ca librarii gata gasesc in CCS sau MikroC. Iar ce gasesti pe net este in general in asm.
:) CCS si HiTech au aceiasi denumire la compilator: picc.exe. Pentru a evita confuzia pe viitor specifica numele compilatorului ( Hitech, C18, SDCC, CC5x, CCS, etc) ca am avut si eu probleme cu numele asta identic de "picc".
Link spre comentariu

CCS si HiTech au aceiasi denumire la compilator: picc.exe. Pentru a evita confuzia pe viitor specifica numele compilatorului ( Hitech, C18, SDCC, CC5x, CCS, etc) ca am avut si eu probleme cu numele asta identic de "picc".Nu stiam ca au acelasi denumire. Imi cer scuze. Nu am instalat decit doua compilatoare.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări