wiringPiI2CReadReg8(int fd,unsigned char reg)是读取8位寄存器的数据,wiringPiI2CWriteReg8(int fd,unsigned char reg,unsigned char data)是写入8位寄存器数据,DS3231的0~6号这7个寄存器分别代表秒、分、时、星期、日、月、年的实时日历数据。
查看代码:
wiringPiSetup();
i2c_fd=wiringPiI2CSetup(0x68);
wiringPiI2CWriteReg8(i2c_fd,6,BYTE_to_BCD(18));
wiringPiI2CWriteReg8(i2c_fd,5,BYTE_to_BCD(9));
wiringPiI2CWriteReg8(i2c_fd,4,BYTE_to_BCD(9));
wiringPiI2CWriteReg8(i2c_fd,3,BYTE_to_BCD(7));
wiringPiI2CWriteReg8(i2c_fd,2,BYTE_to_BCD(23));
wiringPiI2CWriteReg8(i2c_fd,1,BYTE_to_BCD(50));
wiringPiI2CWriteReg8(i2c_fd,0,BYTE_to_BCD(0));
while(1)
{
//V4l2_Grab();
//Yuyv_2_RGB888(buffers,frame_buffer);
//Encode_Jpeg(frame_buffer,IMAGEWIDTH,IMAGEHEIGHT,"1.jpg");
//LCD_Show_Buffer((unsigned char*)"/dev/fb0",640,480,frame_buffer);
//Show_Chinese_64(384,800,0,0xff00ffff,0);
//LCD_Effect();
result=DHT11_Read();
if(result==0)
{
Show_Chinese_64(0,0,0,0xff00ffff,0);
Show_Chinese_64(64,0,0,0xff00ffff,2);
Show_ASCII_64(128,0,0,0xff00ffff,':');
Show_ASCII_64(160,0,0,0xff00ffff,dht11_val[2]/10+'0');
Show_ASCII_64(192,0,0,0xff00ffff,dht11_val[2]%10+'0');
Show_Chinese_64(0,64,0,0xff00ffff,1);
Show_Chinese_64(64,64,0,0xff00ffff,2);
Show_ASCII_64(128,64,0,0xff00ffff,':');
Show_ASCII_64(160,64,0,0xff00ffff,dht11_val[0]/10+'0');
Show_ASCII_64(192,64,0,0xff00ffff,dht11_val[0]%10+'0');
LCD_Effect();
}
sec=wiringPiI2CReadReg8(i2c_fd,0);
sec=BCD_to_BYTE(sec);
min=wiringPiI2CReadReg8(i2c_fd,1);
min=BCD_to_BYTE(min);
hour=wiringPiI2CReadReg8(i2c_fd,2);
hour=BCD_to_BYTE(hour);
day=wiringPiI2CReadReg8(i2c_fd,3);
date=wiringPiI2CReadReg8(i2c_fd,4);
date=BCD_to_BYTE(date);
month=wiringPiI2CReadReg8(i2c_fd,5);
month=BCD_to_BYTE(month);
year=wiringPiI2CReadReg8(i2c_fd,6);
year=BCD_to_BYTE(year);
Show_ASCII_64(0,128,0,0xff00ffff,year/10+'0');
Show_ASCII_64(32,128,0,0xff00ffff,year%10+'0');
Show_ASCII_64(64,128,0,0xff00ffff,'/');
Show_ASCII_64(96,128,0,0xff00ffff,month/10+'0');
Show_ASCII_64(128,128,0,0xff00ffff,month%10+'0');
Show_ASCII_64(160,128,0,0xff00ffff,'/');
Show_ASCII_64(192,128,0,0xff00ffff,date/10+'0');
Show_ASCII_64(224,128,0,0xff00ffff,date%10+'0');
Show_ASCII_64(0,192,0,0xff00ffff,hour/10+'0');
Show_ASCII_64(32,192,0,0xff00ffff,hour%10+'0');
Show_ASCII_64(64,192,0,0xff00ffff,':');
Show_ASCII_64(96,192,0,0xff00ffff,min/10+'0');
Show_ASCII_64(128,192,0,0xff00ffff,min%10+'0');
Show_ASCII_64(160,192,0,0xff00ffff,':');
Show_ASCII_64(192,192,0,0xff00ffff,sec/10+'0');
Show_ASCII_64(224,192,0,0xff00ffff,sec%10+'0');
LCD_Effect();
}
查看效果(昨天录制的GIF):