阿里云HaaS100物联网开发板学习笔记(二)硬件控制初步--让小灯闪烁起来

摘要:无论是哪种开发板,要想开发特定的功能,必先从GPIO开始,HaaS100开发也是一样。如果仅仅利用HaaS100的联网功能,那简直是太浪费了。HaaS100拥有其他开发板所具备的所有的功能,比如GPIO、IIS、IIC、SPI、PWM等等等等。例程中的blink_demo编译并下载到HaaS100开发板后,5个指示灯是同时点亮和熄灭的,到底每个指示灯怎么控制,官方文档中并没有详细介绍。本文从控制一个特定的GPIO实现单独一个LED闪烁入手,将阿里云blink_demo例程进行更深的讲解,跟大家一起进入HaaS100底层硬件开发。

目录

实验目的

1.操作步骤

1.1 搭建编程环境

         1.2 修改程序

1.3 编译

1.4 烧录

2 编程效果

3.原理分析

3.1 硬件分析

3.2软件分析

4.结论

 


硬件:HaaS100物联网开发板

软件:aos(命令行版),win7 x64系统

实验目的

编程实现一个单独的LED灯闪烁。

1.操作步骤

1.1 搭建编程环境

详细步骤请参考下面连接,如果已经成功编译并下载过helloworld_demo,证明您已经掌握了基本操作,请忽略搭建编程环境这一步。

初学者入门阿里云Haas100开发板基本步骤

1.2 修改程序

打开C:\Users\Administrator\AliOS-Things\application\example\blink_demo目录下的blink_demo.c。

根据个人喜好可以使用各种工具,推荐使用Notepad++。

可通过链接https://download.csdn.net/download/youngwah292/12127037下载

打开之后,进入第31行,用0x22替代原来的GPIO_LED_IO。为什么用0x22这个特殊的十六进制数字代替呢?后面再详细分析。

注意,修改完毕后,一定点击保存按钮。否则可能编译的还是未修改的代码。

1.3 编译

使用cmd命令打开命令行

然后通过cd 命令到alios-things目录下

cd alios-things

然后运行配置命令

aos make blink_demo@haas100 -c config

然后编译

aos make

编译成功的界面是下图这样的,如果编译不成功,请参考初学者入门阿里云Haas100开发板基本步骤

1.4 烧录

首先确保开发板供电,并连接Micro USB线缆到电脑,并保证USB驱动安装成功。

进入目录C:\Users\Administrator\AliOS-Things\platform\mcu\haas1000\release\write_flash_gui

找到烧录工具

双击打开

设置串口号

选择烧录

首先拔掉电源线,然后再插上

这时开始烧录,等待烧录完成后,点击停止即可。

2 编程效果

如下图所示,红框选中的LED间隔1秒闪烁

3.原理分析

3.1 硬件分析

为什么将GPIO_LED_IO修改为0x22就能让指定的LED闪烁,而不是全部一起闪烁?

我们看阿里云的官方文档,这5个LED的引脚编号是40 41 36 35 34

https://help.aliyun.com/document_detail/184426.html?spm=a2c4g.11186623.6.692.2cfc5186bqGYXP

用十六进制来表示它们,就分别是 0x28(40 LED1)  0x29(41 LED2)  0x24(36 LED3)  0x23(35 LED4) 0x22(34 LED5)

经过测试,LED1(0x28)编程之后不能用(测试2遍,原因待定),LED编号标注如下:

3.2软件分析

例程中的闪烁是通过hal_gpio_output_toggle函数实现的,toggle的英文意思是“切换”。

函数的原型位于C:\Users\Administrator\AliOS-Things\platform\mcu\haas1000\hal

HAL的意思是硬件抽象层(Hardware Abstraction Layer)

gpio.c文件的内容如下图,这个文件还没有直接操作gpio,还调用了硬件驱动才完成硬件的操作。

4.结论

本例中并没有采用阿里云官方文档中推荐的 application/example/helloworld_demo/appdemo.c,而是采用了blink_demo,目的就是能够将GPIO的操作分析的更深入一些。HaaS100硬件资源丰富,掌握了一个简单的GPIO操作,就为操作其他硬件奠定了基础。

其他辅助文档请参阅

初学者入门阿里云Haas100开发板基本步骤

阿里云HaaS100物联网开发板学习笔记(一)硬件资源介绍

猜你喜欢

转载自blog.csdn.net/youngwah292/article/details/109233621