<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.linksprite.com/index.php?action=history&amp;feed=atom&amp;title=PcDuino9_%E4%B8%AD%E6%96%87</id>
	<title>PcDuino9 中文 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linksprite.com/index.php?action=history&amp;feed=atom&amp;title=PcDuino9_%E4%B8%AD%E6%96%87"/>
	<link rel="alternate" type="text/html" href="https://wiki.linksprite.com/index.php?title=PcDuino9_%E4%B8%AD%E6%96%87&amp;action=history"/>
	<updated>2026-04-29T09:35:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.linksprite.com/index.php?title=PcDuino9_%E4%B8%AD%E6%96%87&amp;diff=11807&amp;oldid=prev</id>
		<title>Alvin: Created page with &quot;== 介绍 ==  640px  640px  640px  pcDuino9是一个高性能平台，拥有强大的多线程运算能...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.linksprite.com/index.php?title=PcDuino9_%E4%B8%AD%E6%96%87&amp;diff=11807&amp;oldid=prev"/>
		<updated>2017-01-19T05:45:18Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== 介绍 ==  &lt;a href=&quot;/index.php/File:Pcduino9_d.jpg&quot; title=&quot;File:Pcduino9 d.jpg&quot;&gt;640px&lt;/a&gt;  &lt;a href=&quot;/index.php/File:Pcduino9_b.jpg&quot; title=&quot;File:Pcduino9 b.jpg&quot;&gt;640px&lt;/a&gt;  &lt;a href=&quot;/index.php/File:Pcduino9_c.jpg&quot; title=&quot;File:Pcduino9 c.jpg&quot;&gt;640px&lt;/a&gt;  pcDuino9是一个高性能平台，拥有强大的多线程运算能...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 介绍 ==&lt;br /&gt;
&lt;br /&gt;
[[File:pcduino9 d.jpg|640px]]&lt;br /&gt;
&lt;br /&gt;
[[File:pcduino9 b.jpg|640px]]&lt;br /&gt;
&lt;br /&gt;
[[File:pcduino9 c.jpg|640px]]&lt;br /&gt;
&lt;br /&gt;
pcDuino9是一个高性能平台，拥有强大的多线程运算能力、图形处理能力以及硬件解码能力，而且它支持 Android和 Ubuntu 双系统，所以它也是一台强大的小型电脑， 我们希望你的创意和灵感能让它变得不平凡。&lt;br /&gt;
&lt;br /&gt;
== 规格 ==&lt;br /&gt;
&lt;br /&gt;
*CPU : Rockchip RK3288 ARM Corte-A17 Quad-Core up to 1.8GHz&lt;br /&gt;
&lt;br /&gt;
*GPU : ARM Mali-T760 MP4 Support OpenGL ES 1.1/2.0 /3.0, OpenVG1.1, OpenCL1.1, Directx11&lt;br /&gt;
&lt;br /&gt;
*Memory : 1GB-4GB Dual-channel 32-bit LPDDR3&lt;br /&gt;
&lt;br /&gt;
*Storage : 8GB-16GB eMMC (Opt.), Micro SD slot support SDXC&lt;br /&gt;
&lt;br /&gt;
*Ethernet : 10/100/1000Mbps Ethernet (RTL8211)&lt;br /&gt;
&lt;br /&gt;
*USB : USB 2.0 Host x 2 (Opt.), USB OTG x 1&lt;br /&gt;
&lt;br /&gt;
*Video : HDMI2.0 support maximum 4K@60Hz display (Micro HDMI), LVDS/MIPI-DSI display interface&lt;br /&gt;
&lt;br /&gt;
*Audio : 3.5mm audio In/Out&lt;br /&gt;
&lt;br /&gt;
*Camera : MIPI-CSI camera interface&lt;br /&gt;
&lt;br /&gt;
*WiFi/BT : AP6212 WiFi + BT module&lt;br /&gt;
&lt;br /&gt;
*GPIO Extension : Raspberry Pi compatible GPIO, support UART, SPI, I2C BMC extension GPIO (Opt.), support ADC, PWM, UART, I2C&lt;br /&gt;
&lt;br /&gt;
*Board Size : 96 x 76 mm&lt;br /&gt;
&lt;br /&gt;
== 产品参数 ==&lt;br /&gt;
&lt;br /&gt;
*CPU: Rockchip RK3288 ARM Corte-A17 Quad-Core up to 1.8GHz&lt;br /&gt;
&lt;br /&gt;
*GPU: ARM Mali-T760 MP4 Support OpenGL ES 1.1/2.0 /3.0, OpenVG1.1, OpenCL1.1, Directx11&lt;br /&gt;
&lt;br /&gt;
*内存: 2GB DDR3 双通道&lt;br /&gt;
&lt;br /&gt;
*存储器 : 16GB eMMC Flash, Micro SD&lt;br /&gt;
&lt;br /&gt;
*网络 ：以太网 -10/100/1000M以太网，无线网 -2.4GHz/5GHz双频WiFi，支持802.11a/b/g/n/ac协议，蓝牙 -Bluetooth 4.0&lt;br /&gt;
&lt;br /&gt;
*视频输入输出：HDMI2.0 up to 3840x2160@60O ,VGA up to 1080P&lt;br /&gt;
&lt;br /&gt;
*USB : USB2.0 x 1&lt;br /&gt;
&lt;br /&gt;
*IR : 支持红外遥控功能&lt;br /&gt;
&lt;br /&gt;
*电源 ： DC -5V/2.5A&lt;br /&gt;
&lt;br /&gt;
== GPIOs 映射 ==&lt;br /&gt;
&lt;br /&gt;
[[File:pcduino 9 d.png|640px]]&lt;br /&gt;
&lt;br /&gt;
=== pcDuino9 ===&lt;br /&gt;
&lt;br /&gt;
[[File:pcduino 9 e.png|640px]]&lt;br /&gt;
&lt;br /&gt;
=== BMC STM32F411 ===&lt;br /&gt;
&lt;br /&gt;
[[File:pcduino9 f.png|640px]]&lt;br /&gt;
&lt;br /&gt;
== 快速入门 ==&lt;br /&gt;
&lt;br /&gt;
=== 1.在Windows烧写系统到eMMC ===&lt;br /&gt;
&lt;br /&gt;
==== a.安装 RK USB 驱动 ====&lt;br /&gt;
&lt;br /&gt;
*下载 [https://github.com/delongqilinksprite/pcDuino9-user-manual.git DriverAssistant],解压，然后运行里面的DriverInstallexe。&lt;br /&gt;
&lt;br /&gt;
*为了使所有设备都是用更新的驱动，请选择“驱动卸载”，然后在选择“驱动安装”。&lt;br /&gt;
&lt;br /&gt;
[[File:pcduino 9 g.png|640px]]&lt;br /&gt;
&lt;br /&gt;
'''连接设备'''&lt;br /&gt;
&lt;br /&gt;
*1.确保设备连接好电源适配器并处于通电状态。&lt;br /&gt;
&lt;br /&gt;
*2.用 Micro USB OTG 线连接好设备和主机。&lt;br /&gt;
&lt;br /&gt;
*3.按住设备上的 RECOVERY （恢复）键并保持。&lt;br /&gt;
&lt;br /&gt;
*4.短按一下 RRESET（复位）键。&lt;br /&gt;
&lt;br /&gt;
*5.大约两秒钟后，松开 RECOVERY 键。&lt;br /&gt;
&lt;br /&gt;
*6.注意：如果发现按了 RESET 键后还是没有发现设备，请在保持 RECOVERY 键按下的同时，长按一下 PWRKEY 键，然后才松开 RECOVERY 键。&lt;br /&gt;
&lt;br /&gt;
主机应该会提示发现新硬件并配置驱动。打开设备管理器，会见到新设备&amp;quot;Rockusb Device&amp;quot; 出现，如下图。如果没有，则需要返回上一步重新安装驱动。&lt;br /&gt;
&lt;br /&gt;
[[File:pcduino 9 h.png|640px]]&lt;br /&gt;
&lt;br /&gt;
==== b.烧写固件 ====&lt;br /&gt;
&lt;br /&gt;
下载[https://github.com/delongqilinksprite/pcDuino9-user-manual.git AndroidTool],解压，运行里面的AndroidTool.exe(注意，如果是Windows7/8，需要按鼠标右键，选择以管理员身份运行)，如下图：&lt;br /&gt;
&lt;br /&gt;
[[File:pcduino 9 i.png|640px]]&lt;br /&gt;
&lt;br /&gt;
'''烧写统一固件 xxxx.img 的步骤如下'''：&lt;br /&gt;
&lt;br /&gt;
*1.切换至&amp;quot;升级固件&amp;quot;页。&lt;br /&gt;
&lt;br /&gt;
*2.按&amp;quot;固件&amp;quot;按钮，打开要升级的固件文件。升级工具会显示详细的固件信息。&lt;br /&gt;
&lt;br /&gt;
*3.按&amp;quot;升级&amp;quot;按钮开始升级。&lt;br /&gt;
&lt;br /&gt;
*如果升级失败，可以尝试先按&amp;quot;擦除Flash&amp;quot;按钮来擦除 Flash，然后再升级。&lt;br /&gt;
&lt;br /&gt;
'''注意：如果你烧写的固件laoder版本与原来的机器的不一致，请在升级固件前先执行&amp;quot;擦除Flash&amp;quot;。'''&lt;br /&gt;
&lt;br /&gt;
[[File:pcduino 9 j.png|640px]]&lt;br /&gt;
&lt;br /&gt;
'''烧写分区映像'''&lt;br /&gt;
&lt;br /&gt;
烧写分区映像时，请使用对应SDK下的FFTools/AndroidTool.rar烧写。步骤如下：&lt;br /&gt;
&lt;br /&gt;
*1.切换至&amp;quot;下载镜像&amp;quot;页。&lt;br /&gt;
&lt;br /&gt;
*2.勾选需要烧录的分区，可以多选。&lt;br /&gt;
&lt;br /&gt;
*3.确保映像文件的路径正确，需要的话，点路径右边的空白表格单元格来重新选择。&lt;br /&gt;
&lt;br /&gt;
*4.点击&amp;quot;执行&amp;quot;按钮开始升级，升级结束后设备会自动重启。&lt;br /&gt;
&lt;br /&gt;
[[File:pcduino 9 k.png|640px]]&lt;br /&gt;
&lt;br /&gt;
=== 2.在Linux烧写系统到eMMC ===&lt;br /&gt;
&lt;br /&gt;
RK 提供了一个 Linux 下的命令行工具 upgrade_tool，支持统一固件 update.img 和分区镜像的烧写。&lt;br /&gt;
&lt;br /&gt;
开源工具则有两个选择:&lt;br /&gt;
&lt;br /&gt;
*rkflashtool [https://github.com/Galland/rkflashtool_rk3066 https://github.com/Galland/rkflashtool_rk3066]&lt;br /&gt;
&lt;br /&gt;
*rkflashkit [https://github.com/linuxerwang/rkflashkit https://github.com/linuxerwang/rkflashkit]&lt;br /&gt;
&lt;br /&gt;
它们都仅支持分区映像烧写，不支持统一固件。rkflashtool 是命令行工具，rkflashkit 有图形界面，后加了命令行支持，更是好用。以下仅对 rkflashkit 做介绍。 Linux 下无须安装设备驱动，参照 Windows 章节连接设备则可。&lt;br /&gt;
&lt;br /&gt;
'''upgrade_tool'''&lt;br /&gt;
&lt;br /&gt;
下载 [Linux_Upgrade_Tool Linux_Upgrade_Tool], 并按以下方法安装到系统中，方便调用：&lt;br /&gt;
&lt;br /&gt;
 tar xf Linux_UpgradeTool_v1.2.tar.gz&lt;br /&gt;
 cd Linux_UpgradeTool_v1.2&lt;br /&gt;
 sudo mv upgrade_tool /usr/local/bin&lt;br /&gt;
 sudo chown root:root /usr/local/bin/upgrade_tool&lt;br /&gt;
&lt;br /&gt;
烧写统一固件 uxxxx.img：&lt;br /&gt;
&lt;br /&gt;
 sudo upgrade_tool uf update.img&lt;br /&gt;
&lt;br /&gt;
烧写分区镜像：&lt;br /&gt;
&lt;br /&gt;
 sudo upgrade_tool di -b /path/to/boot.img&lt;br /&gt;
 sudo upgrade_tool di -k /path/to/kernel.img&lt;br /&gt;
 sudo upgrade_tool di -s /path/to/system.img&lt;br /&gt;
 sudo upgrade_tool di -r /path/to/recovery.img&lt;br /&gt;
 sudo upgrade_tool di -m /path/to/misc.img&lt;br /&gt;
 sudo upgrade_tool di resource /path/to/resource.img&lt;br /&gt;
 sudo upgrade_tool di -p paramater   #烧写 parameter&lt;br /&gt;
 sudo upgrade_tool ul bootloader.bin # 烧写 bootloader&lt;br /&gt;
&lt;br /&gt;
如果因 flash 问题导致升级时出错，可以尝试低级格式化、擦除 nand flash：&lt;br /&gt;
&lt;br /&gt;
 sudo upgrade_tool lf   # 低级格式化&lt;br /&gt;
 sudo upgrade_tool ef   # 擦除&lt;br /&gt;
&lt;br /&gt;
'''rkflashkit'''&lt;br /&gt;
&lt;br /&gt;
安装：&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install build-essential fakeroot &lt;br /&gt;
 git clone https://github.com/linuxerwang/rkflashkit&lt;br /&gt;
 cd rkflashkit&lt;br /&gt;
 ./waf debian&lt;br /&gt;
 sudo apt-get install python-gtk2&lt;br /&gt;
 sudo dpkg -i rkflashkit_0.1.2_all.deb&lt;br /&gt;
&lt;br /&gt;
图形界面：&lt;br /&gt;
&lt;br /&gt;
 sudo rkflashkit&lt;br /&gt;
&lt;br /&gt;
[[File:pcduino 9 l.png|640px]]&lt;br /&gt;
&lt;br /&gt;
命令行:&lt;br /&gt;
&lt;br /&gt;
 $ rkflashkit --help&lt;br /&gt;
 Usage: &amp;lt;cmd&amp;gt; [args] [&amp;lt;cmd&amp;gt; [args]...]&lt;br /&gt;
 part                              List partition&lt;br /&gt;
 flash @&amp;lt;PARTITION&amp;gt; &amp;lt;IMAGE FILE&amp;gt;   Flash partition with image file&lt;br /&gt;
 cmp @&amp;lt;PARTITION&amp;gt; &amp;lt;IMAGE FILE&amp;gt;     Compare partition with image file&lt;br /&gt;
 backup @&amp;lt;PARTITION&amp;gt; &amp;lt;IMAGE FILE&amp;gt;  Backup partition to image file&lt;br /&gt;
 erase  @&amp;lt;PARTITION&amp;gt;               Erase partition&lt;br /&gt;
 reboot                            Reboot device&lt;br /&gt;
 For example, flash device with boot.img and kernel.img, then reboot:&lt;br /&gt;
 sudo rkflashkit flash @boot boot.img @kernel.img kernel.img reboot&lt;br /&gt;
&lt;br /&gt;
=== 3.SD卡启动系统 ===&lt;br /&gt;
&lt;br /&gt;
*下载xxxx.img系统镜像&lt;br /&gt;
&lt;br /&gt;
*准备一张内存卡（4GB以上C10）&lt;br /&gt;
&lt;br /&gt;
*使用dd命令将系统复制到SD&lt;br /&gt;
&lt;br /&gt;
*将卡插在pcDuino9，开机需要按着MASKROM键从TF卡启动&lt;br /&gt;
&lt;br /&gt;
=== 4.pcDuino9硬件操作 ===&lt;br /&gt;
&lt;br /&gt;
硬件操作基于NightWiring 现在它是一个跨平台的C++库控制的硬件接口，包括UART、I2C、SPI和GPIO。大部分的代码是从wiringpi。 GPIO的功能是基于sysfs的现在，这是稍微慢一点，但灵活。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*git clone [https://github.com/nightseas/nightWiring.git https://github.com/nightseas/nightWiring.git]&lt;br /&gt;
&lt;br /&gt;
 cd nightWiring/&lt;br /&gt;
 make -j4&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
==== GPIO LED控制 ====&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;nightWiring.h&amp;quot;&lt;br /&gt;
 #include &amp;quot;nightWiringGPIO.h&amp;quot;&lt;br /&gt;
 #include &amp;quot;stdio.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 static int fennecGpioMap[] = {&lt;br /&gt;
 &lt;br /&gt;
     /*  GPIO2_A0  */&lt;br /&gt;
             56,&lt;br /&gt;
     /*  GPIO2_A1,       GPIO2_A2,       GPIO2_A3,       GPIO2_A4    */&lt;br /&gt;
             57,             58,             59,             60,&lt;br /&gt;
     /*  GPIO2_A5,       GPIO2_A6,       GPIO7_B1,       GPIO2_A7    */&lt;br /&gt;
             61,             62,             225,            63,&lt;br /&gt;
     /*  GPIO2_B0,        GPIO2_B1,      GPIO2_B2,       GPIO2_B4    */&lt;br /&gt;
             64,             65,             66,             68,&lt;br /&gt;
     /*  GPIO2_B5,        GPIO7_B0,      GPIO7_A7,       GPIO7_B2    */&lt;br /&gt;
             69,             224,            223,            226&lt;br /&gt;
 }; &lt;br /&gt;
 &lt;br /&gt;
 int ledMap[] = {2, 10, 3, 11};&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
     int i, j;&lt;br /&gt;
     nightWiringSetup();&lt;br /&gt;
     nightWiringGpioSetup(fennecGpioMap, 17);&lt;br /&gt;
     for(i=0; i&amp;lt;4; i++)&lt;br /&gt;
         pinMode(ledMap[i], OUTPUT);&lt;br /&gt;
     while(1)&lt;br /&gt;
     {&lt;br /&gt;
         for(i=0; i&amp;lt;4; i++)&lt;br /&gt;
         {&lt;br /&gt;
             for(j=0; j&amp;lt;4; j++)&lt;br /&gt;
                 digitalWrite(ledMap[j], HIGH);&lt;br /&gt;
             digitalWrite(ledMap[i], LOW);&lt;br /&gt;
             delay(500);&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== GPIO 按键输入 ====&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;nightWiring.h&amp;quot;&lt;br /&gt;
 #include &amp;quot;nightWiringGPIO.h&amp;quot;&lt;br /&gt;
 #include &amp;quot;stdio.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 static int fennecGpioMap[] = {&lt;br /&gt;
     /*  GPIO2_A0  */&lt;br /&gt;
             56,&lt;br /&gt;
     /*  GPIO2_A1,       GPIO2_A2,       GPIO2_A3,       GPIO2_A4    */&lt;br /&gt;
             57,             58,             59,             60,&lt;br /&gt;
     /*  GPIO2_A5,       GPIO2_A6,       GPIO7_B1,       GPIO2_A7    */&lt;br /&gt;
             61,             62,             225,            63,&lt;br /&gt;
     /*  GPIO2_B0,        GPIO2_B1,      GPIO2_B2,       GPIO2_B4    */&lt;br /&gt;
             64,             65,             66,             68,&lt;br /&gt;
     /*  GPIO2_B5,        GPIO7_B0,      GPIO7_A7,       GPIO7_B2    */&lt;br /&gt;
             69,             224,            223,            226&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 int keyMap[] = {6, 13, 4, 12, 5};&lt;br /&gt;
 char keyName[5][7] = {&amp;quot;UP\0&amp;quot;, &amp;quot;CENTER\0&amp;quot;, &amp;quot;DOWN\0&amp;quot;, &amp;quot;LEFT\0&amp;quot;, &amp;quot;RIGHT\0&amp;quot;};     &lt;br /&gt;
 &lt;br /&gt;
 int readKey(int num)&lt;br /&gt;
 {&lt;br /&gt;
     int key = digitalRead(keyMap[num]);&lt;br /&gt;
     if(key == LOW)&lt;br /&gt;
     {&lt;br /&gt;
         // Delay for a while and re-detect the key status&lt;br /&gt;
         // Filtering glitches on the signal&lt;br /&gt;
         delay(10);&lt;br /&gt;
         if(key == LOW)&lt;br /&gt;
             return 1;&lt;br /&gt;
     } &lt;br /&gt;
 &lt;br /&gt;
     return 0;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
     int i;&lt;br /&gt;
     nightWiringSetup();&lt;br /&gt;
     nightWiringGpioSetup(fennecGpioMap, 17);&lt;br /&gt;
     for(i=0; i&amp;lt;5; i++)&lt;br /&gt;
         pinMode(keyMap[i], INPUT);&lt;br /&gt;
     while(1)&lt;br /&gt;
     {&lt;br /&gt;
         for(i=0; i&amp;lt;5; i++)&lt;br /&gt;
         {&lt;br /&gt;
             if(readKey(i))&lt;br /&gt;
             {&lt;br /&gt;
                 printf(&amp;quot;Key %s is pressed!\n&amp;quot;, keyName[i]);&lt;br /&gt;
                 delay(500);&lt;br /&gt;
             }          &lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== I2C RTC ====&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;nightWiring.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;quot;nightWiringI2C.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;quot;stdio.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #define DS1307_ADDR 0x68&lt;br /&gt;
 &lt;br /&gt;
 int i2cFd;&lt;br /&gt;
 int quitFlag = 0;&lt;br /&gt;
 &lt;br /&gt;
 unsigned char DEC2BCD(unsigned char val)&lt;br /&gt;
 {&lt;br /&gt;
   return ( (val/10*16) + (val%10) );&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 unsigned char BCD2DEC(unsigned char val)&lt;br /&gt;
 {&lt;br /&gt;
    return ( (val/16*10) + (val%16) );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 void rtcSetTime(unsigned char year, unsigned char month, unsigned char date, unsigned char dayofWeek, unsigned char hour, unsigned char min ,unsigned   char sec)&lt;br /&gt;
 {&lt;br /&gt;
   unsigned char reg = 0x00;&lt;br /&gt;
   i2cWriteReg8(i2cFd, 0x00, DEC2BCD(sec));&lt;br /&gt;
   i2cWriteReg8(i2cFd, 0x01, DEC2BCD(min));&lt;br /&gt;
   i2cWriteReg8(i2cFd, 0x02, DEC2BCD(hour));&lt;br /&gt;
   i2cWriteReg8(i2cFd, 0x03, DEC2BCD(dayofWeek));&lt;br /&gt;
   i2cWriteReg8(i2cFd, 0x04, DEC2BCD(date));&lt;br /&gt;
   i2cWriteReg8(i2cFd, 0x05, DEC2BCD(month));&lt;br /&gt;
   i2cWriteReg8(i2cFd, 0x06, DEC2BCD(year));   &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void rtcGetTime() &lt;br /&gt;
 {&lt;br /&gt;
   unsigned char year, month, date, dayofWeek, hour, min ,sec;&lt;br /&gt;
   unsigned char reg = 0x00;&lt;br /&gt;
   sec       = BCD2DEC(i2cReadReg8(i2cFd, 0x00) &amp;amp; 0x7f);&lt;br /&gt;
   min       = BCD2DEC(i2cReadReg8(i2cFd, 0x01));&lt;br /&gt;
   hour      = BCD2DEC(i2cReadReg8(i2cFd, 0x02) &amp;amp; 0x3f);&lt;br /&gt;
   dayofWeek = BCD2DEC(i2cReadReg8(i2cFd, 0x03));&lt;br /&gt;
   date      = BCD2DEC(i2cReadReg8(i2cFd, 0x04));&lt;br /&gt;
   month     = BCD2DEC(i2cReadReg8(i2cFd, 0x05));&lt;br /&gt;
   year      = BCD2DEC(i2cReadReg8(i2cFd, 0x06));&lt;br /&gt;
   printf(&amp;quot;Time: %02d-%02d-%02d  %02d:%02d:%02d.\n&amp;quot;, year, month, date, hour, min ,sec);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
     int i;&lt;br /&gt;
     if((i2cFd=i2cSetup(&amp;quot;/dev/i2c-4&amp;quot;, DS1307_ADDR)) &amp;lt; 0)&lt;br /&gt;
     {&lt;br /&gt;
         printf(&amp;quot;Error: I2C acess failed! i2cSetup() return %d\n&amp;quot;,i2cFd);&lt;br /&gt;
         return 0;&lt;br /&gt;
     }&lt;br /&gt;
     printf(&amp;quot;I2C interface init complete.\n&amp;quot;);&lt;br /&gt;
     printf(&amp;quot;Writing time 2016-10-01 Sat 21:10:00 to RTC...\n&amp;quot;);&lt;br /&gt;
     rtcSetTime(16,10,1,6,21,10,0);&lt;br /&gt;
     while(1)&lt;br /&gt;
     {&lt;br /&gt;
         rtcGetTime();&lt;br /&gt;
         delay(1000);&lt;br /&gt;
     }&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 文档 ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/delongqilinksprite/Create-pcDuino9-image 制作pcDuino9系统镜像]&lt;/div&gt;</summary>
		<author><name>Alvin</name></author>
		
	</entry>
</feed>