Apa kabar semua??!! semoga diminggu terakhir bulan ramadhan kita semua masih diberikan kesehatan dan nikmat berkah dari Allah Swt aamiin
Langsung saja, pada kesempatan kali ini kita akan membahas bagaimana cara melakukan pengiriman data atau karakter dalam komunikasi serial karena biasanya kita cuma mengirimkan data satu persatu. Sama seperti tutorial mengenai Komunikasi Serial Antar 2 Mikrokontroller , pada bahasan kali ini kita menggunakan rangkaian simulasi yang sama dan setting yang sama pada USART. Maka saya anggap teman - teman semua udah mengetahuinya. Oleh karena itu untuk postingan kali ini, saya langsung ke bagian pemrogramannya saja.
Berikut source code masternya :
- #include <mega8535.h>
- // Alphanumeric LCD Module functions
- #asm
- .equ __lcd_port=0x15 ;PORTC
- #endasm
- #include <lcd.h>
- // Standard Input/Output functions
- #include <stdio.h>
- #include <delay.h>
- char get_RX;
- char data[20];
- // Declare your global variables here
- void main(void)
- {
- // USART initialization
- // Communication Parameters: 8 Data, 1 Stop, No Parity
- // USART Receiver: On
- // USART Transmitter: On
- // USART Mode: Asynchronous
- // USART Baud Rate: 9600
- UCSRA=0x00;
- UCSRB=0x18;
- UCSRC=0x86;
- UBRRH=0x00;
- UBRRL=0x47;
- // LCD module initialization
- lcd_init(16);
- while (1)
- {
- printf("Abdi Prasetyo");
- putchar('\n');
- };
- }
dan berikut untuk source code yang slave :
- #include <mega8535.h>
- #include <delay.h>
- // Alphanumeric LCD Module functions
- #asm
- .equ __lcd_port=0x15 ;PORTC
- #endasm
- #include <lcd.h>
- // Standard Input/Output functions
- #include <stdio.h>
- int i;
- char data[16];
- char RX;
- // Declare your global variables here
- void main(void)
- {
- // USART initialization
- // Communication Parameters: 8 Data, 1 Stop, No Parity
- // USART Receiver: On
- // USART Transmitter: On
- // USART Mode: Asynchronous
- // USART Baud Rate: 9600
- UCSRA=0x00;
- UCSRB=0x18;
- UCSRC=0x86;
- UBRRH=0x00;
- UBRRL=0x47;
- lcd_init(16);
- while (1)
- {
- // Place your code here
- i=0;
- do
- {
- data[i]=getchar();
- i++;
- }
- while(data[i-1]!='\n');
- lcd_gotoxy(0,0);
- lcd_puts(data);
- };
- }
Note : Sintaks printf(""); dapat digunakan untuk mengirimkan data seperti putchar (''); .
Dan berikut video hasil simulasinya.
Sekian tutorial kali ini..
semoga bermanfaat..
No comments:
Post a Comment