从买到板子, 到真正把LED点亮, 前会用了差不多一周的时间。 原谅我的效率之低吧, 我也是受害者。
首先声明一下, 大部分代码是从网上找的, 我只是负责整理。 我是一个有节操的人, 如有侵权, 请告之。
好, 下面开始从零开始到点亮LED。
硬件环境: pcDuinoV2、 杜邦线、 LED、串口线、以太网络等。
软件环境: pcDuinoV2自带的操作系统。
软件环境搭建:
sudo apt-get update
sudo apt-get install pcduino-linux-headers-3.4.29+
硬件环境搭建:
调试串口、网络什么的就不说了, 下面主要说下LED的接法。 还是上图吧。
1接的是GPIO4和LED的负极, 2接的是3.3V电源和LED和正极(连我这个文科生都知道脚长的那个是正极, 你会不知道么?)。 这里我要特别吐槽下, 谁都别拦我!
这个图熟悉么? 官网下的诶, 但是, 它标注的GPIO接是有错误的!!!
正确定的在这里:
(图片截自原理图, 下面那个链接有下载地址)
下面这篇文章会很详细的介绍如果点亮板载的LED:http://www.arduino.cn/thread-4824-1-1.html, 现在主要介绍一下如果点亮接在GPIO4上的LED。
(图片截自原理图)
(图片截自A10手册, 上面那个链接有下载地址)
现需要在“手把手教你用pcDuino的A10点灯”的驱动代码中添加如下代码。
在
#define GPH16_CFG (1 << 0)
的下面添加
#define GPHLED_CFG (1 << 4)
在
*gph_cfg1 &= ~(GPH15_CFG);
/*将PH15_CFG位置1,即设置为输出模式*/
*gph_cfg1 |= GPH15_CFG;
的下面添加
*gph_cfg1 &= ~(GPHLED_CFG);
*gph_cfg1 |= GPHLED_CFG;
在
/*置0,相当pin_write写0*/
*gph_date &= ~(0x03<<15);
的下面添加
*gph_date &= ~(0x01<<9);
最后在
/*置1,相当pin_write写1*/
*gph_date |= (0x03<<15);
的下面添加
*gph_date |= (0x01<<9);