![]() |
Giao tiếp I2C
1 Attachment(s)
Mình đanh học giao tiếp i2c , mình đo nhiệt độ sử dụng IC số TC74 nhưng mô phỏng ko chạy được. Bác nào biết chỉ em với .
|
Ah file mp mình nối sai dây phải là sclk=pin_c3, sda=pin_c4 . mình ko hiểu sao nó chạy sai ra kêt quả 255 nhỉ ???
|
Chan qua , cha ai them qtam den , toan la .....
|
Trích:
[code= #include <htc.h> #include <stdio.h> #include "lcd.h" #include "i2c.h" //__CONFIG(INTIO & WDTDIS & PWRTEN & MCLREN & UNPROTECT & DUNPROTECT & BORDIS & IESODIS & FCMDIS & LVPDIS); char khoi_dong_sensor(); char doc_nhiet_do_sesor(); char t; void main() { unsigned int i; lcd_init(); i2c_init(); if(khoi_dong_sensor()) { printf("\fI2C Sensor fails"); while(1); } printf("\f----- Lab5 -----\n***I2C Sensor***"); // delay 3s for(i=0;i<30;i++) __delay_ms(100); while(1) { t = doc_nhiet_do_sesor(); printf("\fNhiet do phong:\n %d", t); __delay_ms(100); __delay_ms(100); __delay_ms(100); } } void putch(char c) { lcd_putc(c); } char khoi_dong_sensor() { i2c_start(); if(i2c_write(0x90)) return -1; if(i2c_write(0x00)) return -1; i2c_stop(); return 0; } char doc_nhiet_do_sesor() { char nhiet; i2c_start(); if(i2c_write(0x90)) return -1; if(i2c_write(0x00)) return -1; i2c_start(); if(i2c_write(0x91)) return -1; nhiet = i2c_read(1); i2c_stop(); //return nhiet; }[\code] |
e thu rui ko duoc !
co ai giup minh vs . #include "16f877a.h" #device *=16 #use delay(clock=20M) #fuses nowdt, hs, noput, nodebug,noprotect, nobrownout, nolvp, nocpd, nowrt #use i2c(master,sda=pin_c4,scl=pin_c3) #include "lcd.c" void main() { int i,temp; lcd_init(); lcd_putc("STARTING"); for(i=0;i<=10;i++) { lcd_putc("."); delay_ms(5); } lcd_putc("\f"); while(1) { // khoi dong sensor i2c_start(); i2c_write(0x9B); i2c_write(0x00) ; i2c_stop(); // doc nhiet do i2c_start(); i2c_write(0x9B); i2c_write(0x00); i2c_start(); //if(i2c_write(0x91)) temp=i2c_read(1); i2c_stop(); lcd_putc(" Nhiet do phong "); lcd_putc("\n"); printf(lcd_putc,"\r %u",temp); delay_ms(100); } } |
Múi giờ GMT. Hiện tại là 04:37 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam