发电机出租技术支持 东莞网站建设,网络营销培训机构,aso优化什么意思是,北京保障性住房建设投资中心网站本文将介绍怎么样在VScode环境下#xff0c;将AliOS Tings提供的blink例程在Developerkit开发板上运行起来。 DeveloperKit开发板
在例程中分别用到两个led和一个按钮#xff0c;上图中用红色的框标识出来。例程正确运行后#xff0c;会有一个LED按1s的周期闪烁#xff0c…本文将介绍怎么样在VScode环境下将AliOS Tings提供的blink例程在Developerkit开发板上运行起来。 DeveloperKit开发板
在例程中分别用到两个led和一个按钮上图中用红色的框标识出来。例程正确运行后会有一个LED按1s的周期闪烁另外一个LED当按键被按下时切换输出电平。本文中各个硬件的分配如下表 外设名称 对应gpio 实验中的功能 LED1 PB6 每秒闪烁1次 LED2 PE3 当检测到按键时切换输出电平 按钮M PE11 通过中断方式检测按接下来我们进入代码并按照具体的硬件对应引脚修改源码。
同VS CODE打开AliOS-Things 2.0源码如果您还没有AliOS-Things的源码可以在VS code的控制台中通过git工具进行拉取拉取命令如下
git clone https://github.com/alibaba/AliOS-Things.git
打开源码后我们在源码的app/example/blink目录下打开blink.c在源码的顶部找到几个宏定义如下
#define GPIO_LED_IO 18
#define GPIO_TRIGGER_IO 4
#define GPIO_INPUT_IO 5上述的几个宏定义需要和我们和实际的硬件对应对应关系如下表 宏定义 对应硬件 实际IO口 OS中的引脚编号 实验中的功能 GPIO_LED_IO LED1 PB6 22 每秒闪烁1次 GPIO_TRIGGER_IO LED2 PE3 67 当检测到按键时切换输出电平 GPIO_INPUT_IO 按钮M PE11 75 通过中断方式检测按键
由于AliOS-Things对硬件进行了抽象所以对GPIO的操作需要先按照一定的规则将MCU的GPIO转换为编号。转换规则为MCU的GPIO bank号 X 16 具体gpio在bank中的位置,bank的编号从0开始。如PB6,其bank号为1在bank中的位置为6则PB6应被转换为 1 X 16 6 22同理PE34 x 16 3 67。因为例程不是为Developerkit开发板而写所以需要修改例程中的宏第一如下
#define GPIO_LED_IO 67 // PE3
#define GPIO_TRIGGER_IO 22 // PB6
#define GPIO_INPUT_IO 75 // PE11完成修改后保存blink.c文件。
在VS CODE环境中在左下角的alios-studio中点击编译目标选择按钮 此时编辑器顶部的命令输入框会弹出选择要编译的目标此时选择blink 紧接着会继续要求选择开发板此时选择Developerkit开发板。 接下来通过alios-studio工具条的编译按钮启动编译。 等待编译完成。
Making blinkdeveloperkit.bin
Making blinkdeveloperkit.hexAOS MEMORY MAP
||
| MODULE | ROM | RAM |
||
| newlib_stub | 296 | 0 |
| sal | 6977 | 250 |
| kv | 3055 | 104 |
| common | 256 | 12 |
| libc_nano | 19649 | 602 |
| kernel_init | 653 | 36 |
| rhino | 16225 | 7821 |
| developerkit | 5045 | 1403 |
| vfs | 950 | 1141 |
| digest_algorithm | 92 | 0 |
| libgcc | 3320 | 0 |
| stm32l4xx_cube | 26592 | 8506 |
| cli | 6234 | 357 |
| yloop | 2369 | 28 |
| device_sal_bk7231 | 8542 | 265 |
| sensor | 9451 | 303 |
| osal | 1074 | 4 |
| log | 412 | 20 |
| hal | 164 | 12 |
| blink | 325 | 24 |
| atparser | 5882 | 297 |
| armv7m | 1975 | 0 |
| *fill* | 150 | 1599 |
||
| TOTAL (bytes) | 119688 | 22784 |
||
Build complete将Developerkit连接至PC,确保开发板的STlink驱动已被正确安装。 通过alios-studio工具条中的下载按钮将编译好的固件下载到开发板中。 烧写完成后开发板会自动运行此时可以看到LED开始按1s为间隔闪烁。按动板上的“M”按钮LED2会切换输出。这里要指出blink Demo主要为了演示GPIO的HAL层操作函数并没有做按键去抖动工作所以点按按钮时可能会出现按一次LED2直接切换两次。也请大家在实际的代码设计中注意按键去抖能力的加入。到此例程已成功完成运行。 原文链接 本文为云栖社区原创内容未经允许不得转载。