0,0 → 1,81 |
#include "C:\Users\Honza\Documents\pic\I2C_vlhkost\main.h" |
|
#define EEPROM_SDA PIN_B0 |
#define EEPROM_SCL PIN_B1 |
#use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL) |
#use rs232(baud=9600,parity=N,xmit=PIN_B3,rcv=PIN_B2,bits=8) //rcv TXD xmit RXD |
|
|
void main() |
{ |
|
setup_adc_ports(NO_ANALOGS|VSS_VDD); |
setup_adc(ADC_CLOCK_DIV_2); |
setup_spi(SPI_SS_DISABLED); |
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); |
setup_timer_1(T1_DISABLED); |
setup_timer_2(T2_DISABLED,0,1); |
setup_ccp1(CCP_OFF); |
setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard |
|
printf("Simple Thermomether \r\n",); |
|
int16 data1, data2, data3; |
|
int XL,XH,YL,YH,ZL,ZH; |
|
while(TRUE) |
{ |
|
data1=0; |
data2=0 ; |
|
|
//akcelerometr |
int1 ack; |
i2c_start(); // If the write command is acknowledged, |
ack = i2c_write(0x81);//hen the device is ready. |
i2c_stop(); |
ack=!ack; |
|
|
|
i2c_stop(); //T |
|
i2c_start(); |
I2C_Write(0x80); |
I2C_write(0xF3); |
// i2c_stop(); |
i2c_start(); |
I2C_Write(0x81); |
XH=i2c_read(0); |
XL=i2c_read(0); |
i2c_stop(); |
|
|
i2c_start(); //RH |
I2C_Write(0x80); |
I2C_write(0xF5); |
// i2c_stop(); |
i2c_start(); |
I2C_Write(0x81); |
YH=i2c_read(0); |
YL=i2c_read(0); |
i2c_stop(); |
|
|
|
data1 = (((unsigned int16) XH << 8) + XL>>2 ); |
data2 = (((unsigned int16) YH << 8) + YL>>2); |
|
|
printf("Stav: %d (procenta)\r\n", ack); |
|
printf("Stav: %Ld(procenta)\r\n", data1); |
printf("Stav: %Ld(procenta)\r\n", data2); |
|
delay_ms (2000); |
|
} |
} |
|