|
Zeus
Ранг: Почетен член
Регистриран на: Вто Окт 03, 2006 11:58 am Мнения: 924 Местоположение: Ботевград
|
 Малко помощ за TCN75A
Отдолу е част от кода, където е проблема. Оказа се, че не мога да запиша желаната стойност в CONFIGURATION REGISTER (искам да ползвам максималната резолюция от 12 бита). Стойността на променливата pr(сложил съм я само за проверката) остава 0x00. Иначе всичко си работи. Прочитам температурата и си я изобразявам на 7 сегментните индикатори, но при минимална резолюция, която е зададена по подразбиране.
#include <16f887.h>
#FUSES INTRC,NOWDT,NOPUT,MCLR,NOPROTECT,NOCPD,NOBROWNOUT,NOIESO,NOFCMEN,NOLVP
#use delay(internal=4MHZ)
#use I2C(MASTER, FORCE_HW, SLOW, sda=PIN_C4, scl=PIN_C3, ADDRESS=0x00)
int pr;
void main()
{
set_tris_c(0xFF);
i2c_start();
i2c_write(0x90);
i2c_write(0x01); //CONFIGURATION REGISTER
i2c_write(0x60);
i2c_stop();
i2c_start();
i2c_write(0x90);
i2c_write(0x01); //CONFIGURATION REGISTER
i2c_start();
i2c_write(0x91);
pr=i2c_read(); //проверка на стойността на CONFIGURATION REGISTER
i2c_stop();
}
|