Gunakan MimeTex/LaTex untuk menulis simbol dan persamaan matematika.

Welcome to Forum Sains Indonesia. Please login or sign up.

April 20, 2024, 06:14:56 AM

Login with username, password and session length

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139,653
  • Total Topik: 10,405
  • Online today: 188
  • Online ever: 1,582
  • (Desember 22, 2022, 06:39:12 AM)
Pengguna Online
Users: 0
Guests: 184
Total: 184

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

protokol I2C

Dimulai oleh ksatriabajuhitam, Mei 23, 2009, 09:21:09 AM

« sebelumnya - berikutnya »

0 Anggota dan 2 Pengunjung sedang melihat topik ini.

frans3q

#15
itu dia, gw ga tau perintah2nya.... bedanya apa sih? sprintf putsf putchar

ftoa tuh mirip IntToString gt ya?? skill C gw basic nya basic  ;D
Terimakasih banyak buat tmn2 yg uda nambah IQ saya... :D

frans3q

too payz :
sama aja.... ga ada perubahan... T.T


oya itu sebener nya asli nya pake AT90S2313.
trus gw rubah2 programnya.

nah di program yg asli nya ada port yg jadi penanda klo uC ny uda siap ato belom d tulis d manual sensor nya BUSY/RDY pas gw liat datasheet 90S2313 ternyata itu OC1. ada pengaruh ga klo fungsi itu nya gw ilangain?

asli ny gini :

while (1)      
   {
       startRanging();

       while (ready);
//        delay_ms(10);
       while (!ready);
//        delay_ms(100);

       readData();
       sendData();
       delay_ms(1000);
   };
}


---------------------------------------------------------------

ready nya sendiri d definisi in d awal sbg :
#define ready   PINB.3

nah B3 itu OC1 klo gw liat datasheet nya.
Terimakasih banyak buat tmn2 yg uda nambah IQ saya... :D

Too Payz

Kutip dari: frans3q pada Agustus 08, 2009, 11:04:14 AM
masalahnya :
angkanya tumpang tindih di HyperTerminal.

harusnya contoh tampilannya :
US : 0124 mm
IR1 : 0165 mm
IR2 : 0189 mm
Kalau membahas error tampilannya saya bisa bantu tapi kalo mengakses sensor I2C-nya g tau dah. Kalo memprogram harus disertai datanya.
Apalagi sensor DT Sense (sensor ultrasonic), biasanya saya pake PING lebih mudah dan fleksibel (g promosi loo...  :D )

ini maksudnya 124 165 dan 189  yaak.. ?  ???   ???
Kalo pecahan gunakan ftoa (float to array).
Bilangan integer gunakan itoa (integer to array).
Kalo bilangan bulat integer atau char gunakan sprintf.
Untuk tampillannya coba kasi nilai tetap dlu dan cek udah berhasil atau tidak baru dicoba ke proses selanjutnya, Misal

...................
US   = 234,567; // kasi nilai tetap berupa pecahan
IR1  = 12345;  // kasi nilai tetap berupa integer
IR2  = 231;  // kasi nilai tetap berupa char
ftoa(US,3,buf_UART);
puts(buf_UART);
putsf(" mm\r");   // tampilkan US = 234,567

itoa(IR1,buf_UART);
puts(buf_UART);
putsf(" mm\r");   // tampilkan IR1 = 12345

sprintf(buf_UART,"%d",IR2);
puts(buf_UART);
putsf(" mm\r");   // tampilkan IR2 = 231
...................

mudah-mudahan berhasilll...  :angel:

frans3q

#18
buf nya pake tipe var apa?
unsigned char????


jelasin dulu donk cara pake nya ftoa, itoa ma sprintf... parameter #1,2,3 nya gmn, perlu pake lib apa? ky ny bukan stdio.h

float kan buat bil real. kalo inputnya d kasi integer masi bisa jalan ga?
Terimakasih banyak buat tmn2 yg uda nambah IQ saya... :D

Too Payz

Kutip
buf nya pake tipe var apa?
unsigned char????
Yup gunakan unsigned char karena buff berfungsi sebagai memori yang menyimpan hasil konversi suatu nilai menjadi ASCII (huruf dan angka). Dan huruf atau angka bernilai 0-255 (unsigned char)
Kutip
jelasin dulu donk cara pake nya ftoa, itoa ma sprintf... parameter #1,2,3 nya gmn, perlu pake lib apa? ky ny bukan stdio.h
Librarynya stdlib.h bukan stdio.h dan masih banyak lagi selain ftoa dan itoa. Coba baca Help-nya CoViAVR.
Kutip
float kan buat bil real. kalo inputnya d kasi integer masi bisa jalan ga?
Jika variabel float (pecahan) diberikan integer(bulat) tidak masalah dan nantinya dibelakang koma akan bernilai nol semua.
tetapi jika variabel integer atau yg lain (bulat) diberikan nilai pecahan maka dibelakang koma akan dihapuskan. Dan jangan lupa range nilainya jauh berbeda jadi sebaiknya gunakan tipe data sesuai kebutuhan dan yang seharusnya.   8)   8)

frans3q

#20
ftoa parameter 1 nya ga bisa integer tuh. bgitu d compile lgsung error. jenis var yg jadi parameter ny harus bener2 sesuai, kmren ampir 1jam stuck gara2 salah jenis tipe var doank

help ny CV AVR bener2 bikin stress. ga niat tuh yg bikin help. ftoa gw search aja ga ada. akhir ny jelajah index satu2 gw buka in baru akhir ny nemu.
Terimakasih banyak buat tmn2 yg uda nambah IQ saya... :D

Too Payz

Wah COViAVR-nya versi lawas keknya tuh...
Btw gmana dah bisa kan ?    ;D    ;D

frans3q

CV AVR ny d kasi temen. versi 1.24.6 Pro.

terakhir coba masi gagal. kayak ny uC ny masalah. ntar malem mo d coba lagi.
Terimakasih banyak buat tmn2 yg uda nambah IQ saya... :D

frans3q

btw yg itoa parameter2 nya tipe var nya apa ya? d help ny d tulis char*string. deklarasi nya gmn ya?

itoa(par1,par2);
fungsi ny ngrubah integer jadi string.
parameter 1 ny integer.
Terimakasih banyak buat tmn2 yg uda nambah IQ saya... :D

frans3q

nanya ttg i2c lagi...

saya pake ATMega8535, klo baca datasheet nya, port I2C ada d PortC.
tapi baca2 d literatur luar, katanya I2C tuh bisa d semua port, tapi secara software. jadi tiap portA sampai D bisa ng emulasi in sinyal I2C bukan cuma portC doank.

- trus port I2C yg ada d datasheet itu gunanya apa ya?
- bedanya soft I2C & scr hardware dmn ya?
- saya pake CV AVR, apa inisiasi I2C soft & I2C biasa beda?
- dan lagi d CV AVR code wizard nya ada pilihan : I2C, 1wire, & 2wire. bukan nya 1wire & 2wire itu sama I2C ya?
Terimakasih banyak buat tmn2 yg uda nambah IQ saya... :D

frans3q

Terimakasih banyak buat tmn2 yg uda nambah IQ saya... :D

tAZZZ

2Wire atau TWI (Two Wire Interface) sama dengan I2C, ini beda dengan 1 Wire, klo one wire cuma butuh satu kabel aja utk interface keluar.

sebenernya sama antara 2Wire dan I2C, tapi di AVR (CO AVR) dibedain, klo yang I2C kan dah disediain library nya, karena da ada librarynya jadi relatif lebih mudah, tinggal panggil aja. penenmpatannya juga bebas mau di pin mana ajah, asal di inisialisasiin dulu(lewat codewizard jg bisa).

klo 2Wire agak beda cara programya (ga bisa kan pake library I2C), registernya kita atur sendiri, tapi protokolnya sama kayak I2C, nah pinnya itu yang SDA SCL yang dah ada.


frans3q

ow jadi kalo yg d sebut I2C sama CV AVR tuh sebener ny emulasi gt ya.
btw, cara kerja nya antara pakai port SDA-SCL yg d sediakan(TWI) dan emulasi pake lib ny gt sama ga ya?
trus cara ngeset sapa yg jadi master ny gmn? kalau saya ga salah ngerti in, I2C tuh master nya ngegenerate clock. device2 yg jadi slave nya ngikut clock nya master. tinggal d atur address nya untuk tiap slave. gt bkn ya?
Terimakasih banyak buat tmn2 yg uda nambah IQ saya... :D

tay1111

gimana ya.. cara share data internal ram antar uc atmega dengan jalur i2c pake asm..?
please........  ::)