|
aHR0cDovL2ZyZWVzaGlwLmNvLmty
- µ¥¸ð º¸µå À¯Çü: ÆÈ
- ºê·£µå À̸§: ReYeBu
¸ÅÆ®¸¯½º-RTC Ŭ·° ¸ðµâÀº NanoPi plus2 Tiny4412 ¹× ±âŸ °³¹ß º¸µå¸¦ ¿Ïº®ÇÏ°Ô ¿ÀÇ ¼Ò½º·Î Áö¿øÇÕ´Ï´Ù.
1¼Ò°³
- ¸ÅÆ®¸¯½º RTC ¸ðµâÀº ½Ç½Ã°£ Ŭ·° ¸ðµâÀÔ´Ï´Ù. ±×°ÍÀº ÀúÀü·Â ¼Òºñ Ĩ DS1307 À¯È¿ÇÑ 2100 56 ¹ÙÀÌÆ® ºÒÈֹ߼º RAM µ¥ÀÌÅÍ ÀúÀå ¹× 2 ¼± IIC Á÷·Ä ÀÎÅÍÆäÀ̽º
- ÃÊ´ç, ºÐ, ½Ã°£, ¿ùº°, ¿ù, ¿äÀÏ, ¿¬µµ´Â ¸®ÇÎ ¿¬µµ·Î °£Áֵ˴ϴÙ.
2Ư¡
- I2C Á÷·Ä ÀÎÅÍÆäÀ̽º
- 56 ¹ÙÀÌÆ® ºñÈֹ߼º ·¥
- 8 ÇÉ µö ¹× 8 ÇÉ SO
- ÀÛµ¿ ¿Âµµ: ¼·¾¾-40 µµ¿¡¼ ¼·¾¾ 85 µµ±îÁö
- PCB Ä¡¼ö (mm): 24x32
ÇÉ |
¼³¸í |
SDA |
I2C SDA |
SCL |
I2C SCL |
5V |
°ø±Þ Àü¾Ð 5V |
GND |
Áö»ó |
3±âº» ÀåÄ¡ ÀÛµ¿
4½Åû
4.1¿¬°á NanoPi M1
´ÙÀ½ ¿¬°á ´ÙÀ̾î±×·¥À» ÂüÁ¶ÇÏ¿© ¸ðµâÀ» NanoPi M1 ¿¡ ¿¬°áÇϽʽÿÀ.
¿¬°á ¼¼ºÎ»çÇ×:
¸ÅÆ®¸¯½º RTC |
NanoPi M1 |
SDA |
Pin3 |
SCL |
Pin5 |
5V |
Pin4 |
GND |
Pin6 |
4.2¿¬°á NanoPi 2
´ÙÀ½ ¿¬°á ´ÙÀ̾î±×·¥À» ÂüÁ¶ÇÏ¿© ¸ðµâÀ» ³ª³ëÆÄÀÌ 2 ¿¡ ¿¬°áÇϽʽÿÀ.
¿¬°á ¼¼ºÎ»çÇ×:
¸ÅÆ®¸¯½º RTC |
NanoPi 2 |
SDA |
Pin3 |
SCL |
Pin5 |
5V |
Pin4 |
GND |
Pin6 |
4.3³ª³ëÆÄÀÌ M2/³ª³ëÆÄÀÌ 2 ÆÄÀ̾ ¿¬°á
´ÙÀ½ ¿¬°á ´ÙÀ̾î±×·¥À» ÂüÁ¶ÇÏ¿© ¸ðµâÀ» NanoPi M2/ NanoPi 2 fire¿¡ ¿¬°áÇϽʽÿÀ.
¿¬°á ¼¼ºÎ»çÇ×:
|
NanoPi M2 |
SDA |
Pin3 |
SCL |
Pin5 |
5V |
Pin4 |
GND |
Pin6 |
4.4¿¬°á NanoPC-T2
¸ðµâÀ» NanoPC-T2 ¿¬°áÇÏ·Á¸é ´ÙÀ½ ¿¬°á µµÇ¥¸¦ ÂüÁ¶ÇϽʽÿÀ.
¿¬°á ¼¼ºÎ»çÇ×:
¸ÅÆ®¸¯½º RTC |
NanoPC-T2 |
SDA |
Pin6 |
SCL |
Pin5 |
5V |
Pin29 |
GND |
Pin30 |
5ÄÄÆÄÀÏ ¹× ½ÇÇà Å×½ºÆ® ÇÁ·Î±×·¥
µ¥ºñ¾È ÆÈ º¸µå¸¦ ºÎÆÃÇÏ°í ¸ÅÆ®¸¯½º ÄÚµå º¹»ç:
$Apt-¾÷µ¥ÀÌÆ® & Apt-¼³Ä¡ Git
$Git Ŭ·ÐHttps://Github.com/Friendlyarm/¸ÅÆ®¸¯½º. git
º¹Á¦°¡ ¼º°øÀûÀ¸·Î ¿Ï·áµÇ¸é "¸ÅÆ®¸¯½º" µð·ºÅ丮°¡ »ý¼ºµË´Ï´Ù.
ÄÄÆÄÀÏ ¹× ¼³Ä¡ ¸ÅÆ®¸¯½º:
$Cd¸ÅÆ®¸¯½º
$¸¸µé±â & ¸¸µé±â ¼³Ä¡
½ÇÇà Å×½ºÆ® ÇÁ·Î±×·¥:
Âü°í: ÀÌ ¸ðµâÀº Ç÷¯±× ¾Ø Ç÷¹ÀÌ°¡ ¾Æ´Ï¹Ç·Î ¸ðµâÀ» ½ÇÇàÇϱâ Àü¿¡ ¾Ï º¸µå¿¡ ¿¬°áµÇ¾î ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ. °üÂûÇØ¾ß ÇÒ »çÇ×Àº ´ÙÀ½°ú °°½À´Ï´Ù.
RTC µå¶óÀ̹ö Å×½ºÆ® ¿¹.
¼¼Æ® RTC ³¯Â¥/½Ã°£Is9-15-2015, 01:01:01.
Àбâ RTC ³¯Â¥/½Ã°£Is9-15-2015, 01:01:01.
Å×½ºÆ®¿Ï·á
ÀÌ ÇÁ·Î±×·¥Àº ³¯Â¥/½Ã°£À» Àаí RTC ¸ðµâ¿¡ ´ëÇÑ ³¯Â¥/½Ã°£À» ±â·ÏÇÕ´Ï´Ù. ³¯Â¥/½Ã°£À» ¼³Á¤ÇÏ°í µ¥ºñ¾ðÀÇ RTC ¸ðµâ¿¡ ÀúÀåÇÏ·Á¸é ´ÙÀ½ ¸í·ÉÀ» ½ÃµµÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ³¯Â¥¸¦ "2016-11-17 17:26:01" ·Î ¼³Á¤ÇÏ°í RTC ¸ðµâ¿¡ ÀúÀåÇÏ·Á¸é ´ÙÀ½ ¹æ¹ýÀ¸·Î ¼öÇà ÇÒ ¼ö ÀÖ½À´Ï´Ù.
$ Modprobe rtc-ds1307
$³¯Â¥ -S "2016-11-17 17:26:01"
$ Hwclock-W -F /Dev/Rtc-ds1307
/Etc/modprobe.d/matrix-blacklist.conf ÆÄÀÏÀ» ¿°í "ºí·¢¸®½ºÆ® rtc_ds1307" ¾Õ¿¡ "#" À» Ãß°¡ÇÏ¿© ÀÌ ÁÙÀ» ³íÆòÇÕ´Ï´Ù. º¸µå¸¦ ÀçºÎÆÃÇÏ¸é º¯°æµÈ ³¯Â¥/½Ã°£ÀÌ È¿°úÀûÀÔ´Ï´Ù.
$ Hwclock-R -F /Dev/Rtc-ds1307
2016 11 18±Ý¿äÀÏ 08:29:48-0.492649ÃÊ
6ÄÚµå »ùÇÃ
ÀÌ ¸ÅÆ®¸¯½º ÄÚµå »ùÇÃÀºÀÌ ¸ðµâÀÇ wiki¿¡ ¾ð±Þ µÈ ¸ðµç ¾Ï º¸µå¿Í ÇÔ²² ÀÛµ¿ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÄÚµå »ùÇÃÀÇ À̸§Àº "¸ÅÆ®¸¯½º-rtc" ÀÔ´Ï´Ù. ¿©±â¿¡ ¼Ò½º Äڵ尡 ÀÖ½À´Ï´Ù.
Int¸ÞÀÎ(IntArgc, Char **Argv)
{
IntFd,Retval,º¸µå;
±¸Á¶Rtc_time rtc_tm;
Const Char *Rtc=Default_rtc;
Const Char *Date_time=Default_date_time;
°æ¿ì ((º¸µå=BoardInit()) < 0) {
Printf("³»ºÎ º¸µå¿¡ ½ÇÆÐÇÔ\ N");
¹Ýȯ -1;
}
½ºÀ§Ä¡ (Argc) {
ÄÉÀ̽º 3:
Rtc=Argv[1];
Date_time=Argv[2];
ºê·¹ÀÌÅ©;
ÄÉÀ̽º 1:
ºê·¹ÀÌÅ©;
񃧯:
Fprintf(Stderr, "»ç¿ë¹ý: rtctest [rtcdev] [³â ¿ù ¿äÀÏ ½Ã°£ ºÐ sec]\ N");
¹Ýȯ 1;
}
½Ã½ºÅÛ("Modprobe"DRIVER_MODULE);
Fd=¿ÀÇÂ(Rtc,O_RDONLY);
°æ¿ì (Fd= = -1) {
Perror(Rtc);
GotoErr;
}
Fprintf(Stderr, "RTC µå¶óÀ̹ö Å×½ºÆ® ¿¹.\ N");
Sscanf(Date_time, "% D % d % d % d % d % d % d",
&Rtc_tm.Tm_year,
&Rtc_tm.Tm_mon,
&Rtc_tm.Tm_mday,
&Rtc_tm.Tm_hour,
&Rtc_tm.Tm_min,
&Rtc_tm.Tm_sec);
Rtc_tm.Tm_year -= 1900;
Rtc_tm.Tm_mon -= 1;
Retval=Ioctl(Fd,RTC_SET_TIME, &Rtc_tm);
°æ¿ì (Retval= = -1) {
Perror("RTC_SET_TIME ioctl");
GotoErr;
}
Fprintf(Stderr, "RTC ³¯Â¥/½Ã°£Àº % d-% d-% d, % 02d:% 02d:% 02d ÀÔ´Ï´Ù.\ N",
Rtc_tm.Tm_mon + 1,Rtc_tm.Tm_mday,Rtc_tm.Tm_year + 1900,
Rtc_tm.Tm_hour,Rtc_tm.Tm_min,Rtc_tm.Tm_sec);
/* RTC ½Ã°£/³¯Â¥ Àбâ */
Retval=Ioctl(Fd,RTC_RD_TIME, &Rtc_tm);
°æ¿ì (Retval= = -1) {
Perror("RTC_RD_TIME ioctl");
GotoErr;
}
Fprintf(Stderr, "Àбâ RTC ³¯Â¥/½Ã°£Àº % d-% d-% d, % 02d:% 02d:% 02d ÀÔ´Ï´Ù.\ N",
Rtc_tm.Tm_mon + 1,Rtc_tm.Tm_mday,Rtc_tm.Tm_year + 1900,
Rtc_tm.Tm_hour,Rtc_tm.Tm_min,Rtc_tm.Tm_sec);
Fprintf(Stderr, "Å×½ºÆ® ¿Ï·á\ N");
´Ý±â(Fd);
Err:
½Ã½ºÅÛ("Rmmod"DRIVER_MODULE);
¹Ýȯ 0;
}
|
|
|
|
|