Receive Receive Data UART UART Menggunaka Menggunakan n Scanf CodevisionA CodevisionAVR VR | WanGRea WanGReadY dY
https://wangre https://wangready ady.wordp .wordpress.c ress.com/201 om/2012/12/3 2/12/30/rece 0/receive-da ive-data-uart ta-uart-menggu -menggu... ...
WanGReadY ʺ… semangat seniman serta intelektual yang anti keseragaman, berbakat, dan kreatifʺ Chinaʹs Megatrends — Persemaian Artistik dan Intelektual
Receive Data UART Menggunakan Menggun akan Scanf CodevisionA Codevision AVR DECEMBE DECEMBER R 30, 2012 44 COMMENT COMMENTS S (HTTPS://W (HTTPS://WANGR ANGREADY EADY.WORD .WORDPRES PRESS.CO S.COM/201 M/2012/12/ 2/12/30/RE 30/RECEI CEIVE-DA VE-DAT TA-UARTA-UARTMENGGUNAKAN-SCANF-CODEVISIONAVR/#COMMENTS) Untuk menerima data serial bisa menggunakan getchar(). Akan tetapi fungsi getchar() ini hanya mampu menerima satu karakter string. Agar kita bisa menerima data yang lebih kompleks, bisa kita gunakan fungsi scanf. scanf. Fungsi scanf sendiri ada di library stdio.h pada codevisionAVR. codevisionAVR. Dengan menggunakan scanf kita bisa menerima data string atau data angka yang dikirim dalam bentuk string. Fungsi scanf ini akan mengembalikan mengembalikan nilai angka dari data angka yang dikirim dikirim dalam string. Berikut pemisalan program dalam penggunaan scanf. ... 3
int day, year; char monthname[20]; void main(void)
... 1 1 1 13 1 1 1 1 1
while(1)
{ scanf("%d %s %d", %d" , &day, monthname, &year); printf ("%d %s %d", %d" , day, monthname, year);
} }
program di atas akan menerima data lalu mengirim m engirim lagi lewat UART. UART. Misal mikrokontroler kita koneksikan ke PC. Dari PC kita akan mengirim: 20 april 2012 , maka mikrokontroler akan menerima menerima data tersebut dalam dalam bentuk tipe data yang yang kita seing sebelumnya. variabel day = 20, monthname = {‘a’ ‘p’ ‘r’ ‘i’ ‘l’}, year = 2012. Untuk data angka dalam penggunaan scanf ditambahkan & di depannya, misal: &day, &year. Dalam program tersebut, mirkokontroler akan mengirim kembali ke PC dengan fungsi printf. Berikut contoh program lengkapnya. Misal saya akan menerima data dari PC, menampilkan data yang diterima lewat LCD, dan mengirim kembali data yang diterima ke PC.
Receive Data UART Menggunakan Scanf CodevisionAVR | WanGReadY
3
1 1 1 13 1 1 1 1 1 1 2 2 2 23 2 2 2 2 2 2 3 3 3 33 3 3 3 3 3 3 4 4 4 43 4 4 4 4 4 4 5 5 5 53 5 5 5 5 5 5 6 6 6 63 6 6 6 6 6 6 7 7
https://wangready.wordpress.com/2012/12/30/receive-data-uart-menggu...
/***************************************************** Chip type : ATmega8535 Program type : Application Clock frequency : 16.000000 MHz Memory model : Small External SRAM size : 0 Data Stack size : 128 *****************************************************/ #include // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x1B ;PORTA #endasm #include #include #define #define #define #define #define #define #define
RXB8 1 TXB8 0 UPE 2 OVR 3 FE 4 UDRE 5 RXC 7
#define #define #define #define #define
FRAMING_ERROR (1<
// USART Receiver buffer #define RX_BUFFER_SIZE 8 char rx_buffer[RX_BUFFER_SIZE]; #if RX_BUFFER_SIZE<256 unsigned char rx_wr_index,rx_rd_index,rx_counter; #else unsigned int rx_wr_index,rx_rd_index,rx_counter; #endif // This flag is set on USART Receiver buffer overflow bit rx_buffer_overflow; // USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr( void) { char status,data; status=UCSRA; data=UDR; if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { rx_buffer[rx_wr_index]=data; if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; }; }; } #ifndef _DEBUG_TERMINAL_IO_ // Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_ #pragma used+ char getchar(void) { char data; while (rx_counter==0);
Receive Data UART Menggunakan Scanf CodevisionAVR | WanGReadY
73 7 7 7 7 7 7 8 8 8 83 8 8 8 8 8 8 9 9 9 93 9 9 9 9 9 9 10 10 10 103 10 10 10 10 10 10 11 11 11 113 11 11 11 11 11 11 12 12 12 123 12 12 12 12 12 12 13 13 13 133 13 13 13 13 13 13 14 14 14 143
https://wangready.wordpress.com/2012/12/30/receive-data-uart-menggu...
if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;
#asm("cli") --rx_counter; #asm("sei") return data; } #pragma used#endif // USART Transmitter buffer #define TX_BUFFER_SIZE 8 char tx_buffer[TX_BUFFER_SIZE]; #if TX_BUFFER_SIZE<256 unsigned char tx_wr_index,tx_rd_index,tx_counter; #else unsigned int tx_wr_index,tx_rd_index,tx_counter; #endif // USART Transmitter interrupt service routine interrupt [USART_TXC] void usart_tx_isr( void) { if (tx_counter) { --tx_counter; UDR=tx_buffer[tx_rd_index]; if (++tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0; }; } #ifndef _DEBUG_TERMINAL_IO_ // Write a character to the USART Transmitter buffer #define _ALTERNATE_PUTCHAR_ #pragma used+ void putchar(char c) { while (tx_counter == TX_BUFFER_SIZE); #asm("cli") if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0)) { tx_buffer[tx_wr_index]=c; if (++tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0; ++tx_counter; } else
UDR=c; #asm("sei") } #pragma used#endif // Standard Input/Output functions #include // Declare your global variables here unsigned char kata[16]; int day, year; char monthname[20]; void main(void)
{ // Declare your local variables here // Input/Output Ports initialization // Port A initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00; DDRA=0x00; // Port B initialization
Receive Data UART Menggunakan Scanf CodevisionAVR | WanGReadY
14 14 14 14 14 15 15 15 153 15 15 15 15 15 15 16 16 16 163 16 16 16 16 16 16 17 17 17 173 17 17 17 17 17 17 18 18 18 183 18 18 18 18 18 18 19 19 19 193 19 19 19 19 19 19 20 20 20 203 20 20 20 20 20 20 21 21 21 213 21 21
https://wangready.wordpress.com/2012/12/30/receive-data-uart-menggu...
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00; DDRB=0x00; // Port C initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x00; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On
Receive Data UART Menggunakan Scanf CodevisionAVR | WanGReadY
21 21 21 22 22 22 223 22 22 22 22 22 22 23 23 23 233 23 23 23 23 23 23 24 24 24 243 24 24 24 24
https://wangready.wordpress.com/2012/12/30/receive-data-uart-menggu...
// USART Mode: Asynchronous // USART Baud rate: 9600 UCSRA=0x00; UCSRB=0xD8; UCSRC=0x86; UBRRH=0x00; UBRRL=0x67; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // LCD module initialization lcd_init(16); // Global enable interrupts #asm("sei") while (1) { scanf("%d %s %d", &day, monthname, &year); //terima data UART //-------kirim data ke LCD-------lcd_clear(); lcd_gotoxy(0,0); sprintf (kata,"%d %s %d", day, monthname, year); lcd_puts(kata); //-------------------------------printf("%d %s %d", day, monthname, year); //kirim data UART }; }
FILED UNDER ELECTRICAL ENGINEERING
44 Responses to Receive Data UART Menggunakan Scanf CodevisionAVR fuad says: January 8, 2013 at 8:51 pm misal saya ingin mengirimkan data angka ke mikro dari delphi, cara pengirimannya bgaimana dan terima datanya bagaimana ??? terima kasih Reply wangready says: January 8, 2013 at 9:44 pm klo d delphi gk tau gan…kirimnya data string gan, cara terimanya ada di post pake scanf… Reply Irul kutu solder says: July 18, 2013 at 2:05 pm pake komponen comport gan..
Receive Data UART Menggunakan Scanf CodevisionAVR | WanGReadY
https://wangready.wordpress.com/2012/12/30/receive-data-uart-menggu...
jadi setelah mikronya di isi program , misalnya baca adc trus mengirimkan data tsb melalui uart, selanjutnya tinggal buat form pd delphi yg komponennya ada comportnya, baru di buat koding scaning input serial yg di jadiin data integer.slnjutnya terserah agan, apa mau diolah menjadi grafik .dll maaf, masih nubie gan..hehe Reply joan says: January 9, 2013 at 2:27 am bagai mana cara untuk kendali led dan servo melalui uart. misal jika kirim data ‘1’ led on dan ‘0’ led off. untuk servo jika kirim data 90 maka servo bergerak sebesar 90 derajat. trimakasih Reply wangready says: January 9, 2013 at 11:13 pm agar memudahkan dalam menerima data, agan bisa liat post yg ini hps://wangready.wordpress.com/2012/12/30/receivedata-uart-menggunakan-scanf-codevisionavr/. jadi kirim datanya seperti AT command. misal LED 1 SERVO 90. Reply fuad says: January 9, 2013 at 8:11 am untuk serialnya di seing interupt tidak gan??? berarti untuk penerimaanya sama dengan tutorial diatas ya??? Reply wangready says: January 9, 2013 at 11:16 pm gk tau gan, harus interrupt apa enggak. belum ane coba bedain. terakhir coba pake mode interrupt. Reply asyrofil says: January 14, 2013 at 11:36 am mas ,, mw tnya ni misal kita mw buat perintah dari mikri 1 ke mikro 2,,pake protokol itu gmana mas ?? Reply wangready says: January 14, 2013 at 9:25 pm protokol gmana mksudnya gan? kalo menurut saya langsung aja pake fungsi printf buat ngirim sama scanf buat nerima…. ato mungkin yg seperti ini gan hps://wangready.wordpress.com/2012/06/25/transmit-data-paket/ Reply hamdi says: March 19, 2013 at 6:54 am gan , mw tanya kalo mw membuat suatu hitungan data tapi datanya di peroleh dari perangkat lain itu gmn ya contoh programnya ,, trims pake kom usart tapi pake fungsi counter itu bs ga ? Reply wangready says: March 20, 2013 at 3:39 am kalo saya pake fungsi scanf disimpan di while(1), tapi di prosesnya tidak menggunakan delay. saya pernah coba pake delay jadinya scanfnya ketahan sama delay. Tapi scanf ini metodenya tidak seperti getchar yang menunggu sampai ada data diterima. pseudo code saya. while(1) { scanf(“data1:%d data2:%d”, buffer1, buffer2); proses(); } dalam aplikasi lain mungkin bisa dimodif dengan getchar() atau read register UDR sesuai kebutuhan aplikasi. maksud agan pake fungsi counter itu bgmana?
Receive Data UART Menggunakan Scanf CodevisionAVR | WanGReadY
https://wangready.wordpress.com/2012/12/30/receive-data-uart-menggu...
andi says: April 8, 2013 at 10:41 am mau tanya gan, kebetulan saya membuat alat interface alat uji tarik. Nah untuk hasil data yang sudah valid di tampilkan di alat uji tarik melalui lcd 2×16. Apa bisa dari hasil data yang ditampilkan ke dalam lcd alat uji tarik dibaca dengan mikro kembali untuk komunikasi serial? Reply wangready says: April 9, 2013 at 3:25 am variabel buat ‘baca’ nya saja langsung dikirim buat serial, jadi tidak membaca dua kali…. Reply ERUL STIKOM Jambi says: July 3, 2013 at 8:32 am sekedar berbagi aja brooh.. kalo mau interface UART ke delphi bisa menggunakan komponen Comport..melalui Comport ini lah Delphi bisa berkomunikasi dengan Hyperterminal komputer,,jadi sama dengan menggunakan Hyperterminal, hanya saja dengan delphi kita bisa membuat tampilannya sesuka hati :) Reply wangready says: July 3, 2013 at 9:04 am mantap gan…. Reply El Shaarazy says: July 27, 2013 at 11:50 am Bagaimana klo data yang kita kirim dari infra merah kemudian di terima oleh receiver TSOP 4838 kemudian data tersebut kita tampilkan di LCD, program akuisisi data Reply wangready says: July 27, 2013 at 11:36 pm mungkin kira2 sperti ini gan. -data dikirim IR pake Tx: char kata_kirim[32]; int sensor = 12; //misal data sensor sprintf(kata_kirim,”data_lcd=%d”,sensor);//pake sprintf biar bisa kirim text ditambah data variabel kita puts(kata_kirim); -data diterima receiver pake Rx: char kata_terima[32]; int data_terima; while(1) { scanf(“data_lcd=%d”,&data_terima); lcd_clear(); lcd_gotoxy(0,0); sprintf(kata_terima,”data terima=%d”, data_terima); lcd_puts(kata_terima); } Reply Rudi Kurniawan says: December 8, 2013 at 9:15 am mas saya mau tanya…. saya pakai atmega 16 dan LCD trus ada modul MP3 (buat play file .wav) program untuk nampilin rekaman yg sesuai dgn tampilan LCD gmn yah mas?? Thanks before Reply wangready says: December 11, 2013 at 7:05 am
Receive Data UART Menggunakan Scanf CodevisionAVR | WanGReadY
https://wangready.wordpress.com/2012/12/30/receive-data-uart-menggu...
Reply Rudi Kurniawan says: December 9, 2013 at 6:45 am mau tanya gan…. saya buat termometer dgn tampilan LCD + out put suara…. program untuk menampilkan suara rekaman yg sesuai dgn LCD gmn ya gan??? Reply wangready says: December 11, 2013 at 7:09 am dibuat index aja gan per itemnya, nanti pemanggilan code nya berdasarkan index tersebut Reply Reza says: December 23, 2013 at 1:16 am saya mau tanya donk gan,,, di mikrokontroler saya bikin program stopwatch pakai counter, nah saya mau ngirim data stopwatch itu ke komputer gan tanpa perlu pake perintah dari pc, kira2 gimana ya program untuk UARTnya? apa bisa langsung pake printf? Reply wangready says: December 23, 2013 at 7:24 am bisa gan, pake printf…. Reply Reza says: December 24, 2013 at 6:12 am ok bisa gan, sory mau nanya lagi nih,,, hehe disitu jd datanya dikirim terus menerus y gan, gimana caranya biar dikirimnya bisa satu persatu pake tombol? jadi ketika kita tekan tombol maka data dikirim…. wangready says: December 24, 2013 at 8:25 am klo bayangan saya, untuk menghitung variabel stopwatchnya agan bisa pake timer interrupt gan, nanti bagian input tombol bisa disimpan di while(1) atau bisa juga sebaliknya… atau jika disimpan di while(1) semua, agan pake deteksi rising edge atau falling edge untuk deteksi tombol sambil menghitung stopwatchnya disimpan di while(kondisi tombol) Windya Saputra says: January 8, 2014 at 4:13 am gan, mau tanya donk, klo misalkan data itu di kirim ke matlab gmn yaa program buat avrnya trs perintah di command windows matlabnya gmn juga yaa ?? =newbie= Reply wangready says: January 10, 2014 at 7:17 pm daripada pake command window buat .m file aja gan… open port serial nya dulu
3
%*******************inisialisasi serialport***************************** delete(instrfindall); S1 = serial ('COM3', 'Baudrate', 9600, 'DataBits', 8, 'Parity','none'); fopen(S1);
klo buat nerima datanya
3
linedata data_dec dat_A = dat_B = dat_C =
= fgetl(S1); = textscan(linedata, 'data %d %f %d'); data_dec{1}; data_dec{2}; data_dec{3};
coba aja gan liat disini sebagai contohnya…hps://wangready.wordpress.com/2013/11/17/mem-plot-data-serial-pada-matlab/ klo dari AVR nya pake printf aja…
Receive Data UART Menggunakan Scanf CodevisionAVR | WanGReadY
https://wangready.wordpress.com/2012/12/30/receive-data-uart-menggu...
hasmi bauh says: January 14, 2014 at 6:59 am iya gan, bisa ga ajari bikin deteksi kata di hyperterminal pake ATMega 162 jadi scenarionya mikro ngirim kata ke hyperterminal “ketikan huruf”, trs kita ngetik misalnya “belajar”, kemudian di tampilan di lcd gitu soalnya dr kmrn saya nyoba pake tutorial web agan, ga ada error t p ga terjadi apa2 waktu saya compile ke mikro hehe mohon bimbingannya Reply wangready says: January 31, 2014 at 12:33 pm masa sih gan, coba habis ngirim data dari hyperterminalnya tekan enter… klo gk, pake getchar aja gan char data[32]; int i;
3
. . . while(1)
{ for (i=0;i<32;i++)
data[i]=0; //bersihkan variabel 1 1 1 13 1 1 1 1 1 1
for (i=0;i<32;i++)
{ data[i] = getchar (); if(data[i]==0x0A) //char enter break; } lcd_clear(); lcd_gotoxy(0,0); lcd_puts(data); }
Reply Iroel says: February 9, 2014 at 8:50 am @hasmi bauh &wangready char data[32]; int i; . . . while(1) { for (i=0;i<32;i++) data[i]=0; //bersihkan variabel for (i=0;i<32;i++) { data[i] = getchar(); if(data[i]==0x0D)//char enter break; } lcd_clear(); lcd_gotoxy(0,0); lcd_puts(data); } listingnya diatas udah benar, cuma char enternya salah (buka 0x0A, tapi 0x0D) dalam hyperterminal, saat user menekan enter, maka karakter 0X0D (13 desimal) yang dikirim sebagai enter.kalau 0x0A itu karakter linefeed (pindah baris). adakalanya hyperterminal mengirim 0D dan 0A secara bergantian: contoh: text +0D + 0A (saat tekan enter) tapi secara default, karakter enter adalah 0x0D (13), sementara linefeed(0x0A) jarang diikutkan (berganung seting hyperterminal. mudah2an membantu
Receive Data UART Menggunakan Scanf CodevisionAVR | WanGReadY
https://wangready.wordpress.com/2012/12/30/receive-data-uart-menggu...
wangready says: February 14, 2014 at 5:28 pm Thanks gan… Reply Hasmi Baih says: February 22, 2014 at 4:59 am bdw pada bener semua gan, thx :D Reply Hasmi Baih says: February 22, 2014 at 5:07 am oh iya mau tanya lagi, kan ini udah bisa nyecan niatnya kan uart 1 -> hyperterminal *buat nyecan kalimat yg diketik lwt keyboard ntar dikirim pake uart0 -> semacam sms gateway nah kan nyecannya kalimat tadi pake program yg diatas : for (i=0;i<32;i++) data[i]=0; //bersihkan variabel for (i=0;i<32;i++) { data[i] = getchar1(); if(data[i]==0x0D)//char enter break; } lcd_clear(); lcd_gotoxy(0,0); lcd_puts(data); nah itu saya mau ngeluarin variable ʺdataʺ ke uart0 pake printf(data) kok ga bisa ya gmn ya gan biar bisa ngeluarin satu array dulu sampek habis dari variable data yg didapat dari inputan keyboard biar bisa dikirim ke uart0 semoga paham maksud saya hehe mohon bimbingannya Reply wangready says: February 22, 2014 at 9:27 am pake fungsi puts() gan, misal: puts(data); soalnya variabel data kan tipe nya char *data…lengkapnya bisa dilihat di library stdio.h yg isinya sbb. void puts(char *str); int printf(char flash *fmtstr,…); Reply hasmibaih says: February 24, 2014 at 1:22 pm semisal saya bikin program pake 2 uart uart 0 untuk mendeteksi karakter dr inputan keyboard trs uart 1 untuk mengirim karakter yg di deteksi dr inputan keyboard tadi dengan sms gateway apakah benar programnya gni gan? void sms() { char data[32]; int i; for (i=0;i<32;i++) data[i]=0; //bersihkan variabel for (i=0;i<32;i++) { data[i] = getchar1(); if(data[i]==0x0D)//char enter
Receive Data UART Menggunakan Scanf CodevisionAVR | WanGReadY
https://wangready.wordpress.com/2012/12/30/receive-data-uart-menggu...
break; } lcd_clear(); lcd_gotoxy(0,0); lcd_puts(data); putchar(13); // sinkronisasi baudrate 115200 delay_ms(500); putchar(13); // sinkronisasi baudrate 115200 delay_ms(500); printf(ʺatʺ); putchar(13); delay_ms(500); printf(ʺat+cmgf=1ʺ); putchar(13); delay_ms(500); printf(ʺat+cmgs=\ʺ083849xxx\ʺʺ); putchar(13); delay_ms(2000); puts(data); // mengirim karakter yg dr inputan keyboard uart 1 dengan uart0 delay_ms(500); putchar(26); putchar(13); lcd_gotoxy(0,1); lcd_putsf(ʺdoneʺ); delay_ms(500); } mohon bimbingannya gan thx Reply wangready says: February 26, 2014 at 3:47 pm klo liat dari syntax nya sih keknya bisa gan… Reply Yogie Sanjaya says: March 3, 2014 at 3:04 pm gan kalo pake kode terima uart menggunakan scanf -> scanf(“%d”, &day) perintah kirim data dari vb ny gimana gan ? Bener gak kalo cuma kayak gini seriarport1.write(textboxt.text) ? Reply wangready says: March 3, 2014 at 4:00 pm kasih kepala data aja gan untuk mengurangi salah terima datanya misal: scanf(“data_day=%d,&day) sya agak lupa syntax vb, intinya kirim datanya sesuai format scanf, misal: day data integer serialport1.write(“data_day=”+day.toString()) Reply Yogie Sanjaya says: March 3, 2014 at 3:26 pm saya mau nanya nh gan … kalo pake kode scanf(“%d”, &PWM) ? perintah kirim dari vb nya gimana kode ny nh mas ? Reply wangready says: March 3, 2014 at 4:02 pm kira2 jawabannya sama dg komen sebelumnya gan :) Reply
Receive Data UART Menggunakan Scanf CodevisionAVR | WanGReadY
https://wangready.wordpress.com/2012/12/30/receive-data-uart-menggu...
May 16, 2014 at 8:22 am bos, kalau mau baca data string dari serial kemudian data tersebut disimpan di eeprom internal gmn y caranya? trims Reply wangready says: May 21, 2014 at 3:44 am di codevision avr misal buat ngambil maksimal 32 karakter sampai ketemu karakter enter, tambahkan eeprom depan variabel yg kita inginkan eeprom char data[32]; for(i=0;i<32;i++) data[i]=0; for(i=0;i<32;i++) { data[i]=getchar(); if (data[i]==0x0A)//cek ASCII enter break; } data sudah tersimpan di eeprom Reply Ira says: September 25, 2014 at 5:20 am Saya buat proyek perparkiran, kalau mobil mengenai sensor makan counter jumlah baris parkir kosong berkurang. mikro saya sudah berhasil membaca sensor dan menghasilkan angka 1 0 ((1=LED menyala, 0=LED mati karna sensor), komunikasi menggunakan RS232. nah permasalahannya, bagaimana cara mengolah data 1,0 dari mikro ke delphi 7 utk bisa digunakan sebagai counter. terimakasih banyak sebelumnya, makasih Reply Bluekyuu39 says: November 9, 2014 at 1:27 pm Halo gan, saya newbie di codevisionavr , pingin tanya gan… kalau saya ingin memprogram ATmega128 agar bisa ngirim karakter hexadecimal melalui TX uart RS232 ke sensor (camera), gimana ya syntax nya? misalnya hexa yg mau dikirim (56 00 10 00) Respon dari camera maunya dibaca dari hyperterminal. Thanks Gan sebelumnya.. Reply
Create a free website or blog at WordPress.com. The Enterprise Theme.