资源简介
rfid技术文档与arduino的结合与参考代码,方便学习rfid技术文档与arduino的结合与参考代码,方便学习

代码片段和文件信息
#include “WProgram.h“
#include “DS1302.h“
/*** Time definitions ***/
Time::Time(uint16_t yr uint8_t mon uint8_t date
uint8_t hr uint8_t min uint8_t sec
uint8_t day)
{
this->yr = yr;
this->mon = mon;
this->date = date;
this->hr = hr;
this->min = min;
this->sec = sec;
this->day = day;
}
Time::Time()
{
Time(2000 1 1 0 0 0 7);
}
/*** DS1302 definitions ***/
DS1302::DS1302(uint8_t ce_pin uint8_t io_pin uint8_t sclk_pin)
{
_ce_pin = ce_pin;
_io_pin = io_pin;
_sclk_pin = sclk_pin;
pinMode(ce_pin OUTPUT);
pinMode(sclk_pin OUTPUT);
}
void DS1302::_write_out(uint8_t value)
{
pinMode(_io_pin OUTPUT);
shiftOut(_io_pin _sclk_pin LSBFIRST value);
}
uint8_t DS1302::_read_in()
{
uint8_t input_value = 0;
uint8_t bit = 0;
pinMode(_io_pin INPUT);
for (int i = 0; i < 8; ++i) {
bit = digitalRead(_io_pin);
input_value |= (bit << i);
digitalWrite(_sclk_pin HIGH);
delayMicroseconds(1);
digitalWrite(_sclk_pin LOW);
}
return input_value;
}
uint8_t DS1302::_register_bcd_to_dec(reg_t reg uint8_t high_bit)
{
uint8_t val = read_register(reg);
uint8_t mask = (1 << (high_bit + 1)) - 1;
val &= mask;
val = (val & 15) + 10 * ((val & (15 << 4)) >> 4);
return val;
}
uint8_t DS1302::_register_bcd_to_dec(reg_t reg)
{
return _register_bcd_to_dec(reg 7);
}
void DS1302::_register_dec_to_bcd(reg_t reg uint8_t value uint8_t high_bit)
{
uint8_t regv = read_register(reg);
uint8_t mask = (1 << (high_bit + 1)) - 1;
/* convert value to bcd in place */
uint8_t tvalue = value / 10;
value = value % 10;
value |= (tvalue << 4);
/* replace high bits of value if needed */
value &= mask;
value |= (regv &= ~mask);
write_register(reg value);
}
void DS1302::_register_dec_to_bcd(reg_t reg uint8_t value)
{
_register_dec_to_bcd(reg value 7);
}
uint8_t DS1302::read_register(reg_t reg)
{
uint8_t cmd_byte = 129; /* 1000 0001 */
uint8_t reg_value;
cmd_byte |= (reg << 1);
digitalWrite(_sclk_pin LOW);
digitalWrite(_ce_pin HIGH);
_write_out(cmd_byte);
reg_value = _read_in();
digitalWrite(_ce_pin LOW);
return reg_value;
}
void DS1302::write_register(reg_t reg uint8_t value)
{
uint8_t cmd_byte = (128 | (reg << 1));
digitalWrite(_sclk_pin LOW);
digitalWrite(_ce_pin HIGH);
_write_out(cmd_byte);
_write_out(value);
digitalWrite(_ce_pin LOW);
}
void DS1302::write_protect(bool enable)
{
write_register(WP_REG (enable << 7));
}
void DS1302::halt(bool enable)
{
uint8_t sec = read_register(SEC_REG);
sec &= ~(1 << 7);
sec |= (enable << 7);
write_register(SEC_REG sec);
}
/*** Get time ***/
uint8_t DS1302::seconds()
{
return _register_bcd_to_dec(SEC_REG 6);
}
uint8_t DS1302::minutes()
{
return _register_bcd_to_dec(MIN_REG);
}
uint8_t DS1302::hour()
{
uint8_t hr = read_register(HR_REG);
uint8_t adj;
if (hr & 128) /* 12-hour mode */
adj = 12 * ((hr & 32) >> 5);
e
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10293699 2013-05-27 20:09 rfid\rfid.PDF
文件 2526921 2007-06-01 10:35 rfid\RC522.pdf
..A.SH. 6656 2013-05-27 20:15 rfid\Thumbs.db
文件 18818 2012-06-29 10:48 rfid\lib\DoorCon\DoorCon.pde
文件 20358 2012-06-29 10:41 rfid\lib\RFID\RFID.pde
文件 5398 2009-05-19 22:00 rfid\lib\DS1302\DS1302.h
文件 4368 2009-05-19 22:00 rfid\lib\DS1302\DS1302.cpp
文件 2571 2011-11-17 12:25 rfid\lib\DS1302\examples\DS1302_Example\DS1302_Example.pde
文件 1948 2009-05-19 22:00 rfid\lib\DS1302\examples\set_clock\set_clock.pde
文件 1095 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\keywords.txt
文件 8276 2011-08-10 21:36 rfid\lib\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp
文件 3340 2011-08-10 21:35 rfid\lib\LiquidCrystal_I2C\LiquidCrystal_I2C.h
文件 41564 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\LiquidCrystal_I2C.o
文件 1413 2012-11-29 14:11 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\CustomChars.pde
文件 93218 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 1588 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 13 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 51878 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 12090 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 9044 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 16140 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 3028 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 25124 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 5588 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 8748 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 6532 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 8240 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 6416 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 4052 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
文件 6992 2010-07-17 15:53 rfid\lib\LiquidCrystal_I2C\examples\CustomChars\ap
............此处省略97个文件信息
评论
共有 条评论