AliOS Things IOT开发板初体验(基于STM32L496VGTx)

简介: AliOS Things IOT开发板初体验(基于STM32L496VGTx)

今天介绍的是阿里推出的一款开发板:AliOS Things Developer Kit


640.jpg

   这款开发板出厂默认带的是AliOS Things,官方推荐用AliOS-Things uCube来开发具体的应用,就连源码也是通过STM32CubeMX工具生成基本的IO配置和功能后,在HAL库基础上继续二次开发,个人用得不爽,不爽就换回Keil环境吧,期间遇到一个问题,顺便记录了一下。

   凡使用一款开发板,先点灯,点灯是第一步,接下来才有其它的工作,点灯程序一样还是基于STM32CubeMX创建,然后在Keil MDK上来实现,先来看看板子上的第一个LED的硬件连接图。

640.png


   如原理图所示,LED接在PB6这个管脚,当往该IO写入低电平时,LED点亮,反之LED灯熄灭,接下来开始打开STM32CubeMX,开始基本配置。

一、新建一个STM32L496VGTx的工程(基于STM32L496VGTx)

1.1 时钟配置

640.jpg

640.jpg

这里默认选择的是外部晶振源提供的时钟,然后默认配置最高的主频。

1.2 配置LED

640.jpg

由于是低电平有效,所以CPU上电默认管脚状态在这里将其拉高。

1.3 生成Keil MDK工程

640.jpg

1.4 编写让LED翻转的demo

int main(void)
{
  /* USER CODE BEGIN 1 */
  /* USER CODE END 1 */
  /* MCU Configuration--------------------------------------------------------*/
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();
  /* USER CODE BEGIN Init */
  /* USER CODE END Init */
  /* Configure the system clock */
  SystemClock_Config();
  /* USER CODE BEGIN SysInit */
  /* USER CODE END SysInit */
  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */
  /* USER CODE END 2 */
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
      HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
      HAL_Delay(200);
  }
  /* USER CODE END 3 */
}

  如代码所示,HAL_GPIO_TogglePin这个函数会让LED所对应的IO翻转高低电平,由于加了延时200ms,所以看到的效果就是LED快速的闪烁。

   开发板使用的是USB转ST_Link,所以在此之前需要安装驱动,板子的开发资料也已经提供了,板子所有的资料包括源代码都在Github上提供,感兴趣的朋友可以去下载。

https://github.com/alibaba/AliOS-Things/wiki/Developer-Kit-Tutorial

640.png

如果不下载对应驱动的话,Keil是识别不了SW Device的,安装驱动后如下图所示:

640.png

接下来在Keil上点击下载程序

640.png

出现如下提示

640.png

原因是发现Keil没有添加对应STM32L4XXX相关的的FLASH算法,我们把算法添加进去后再次点击下载即解决问题。

640.jpg

二、 运行结果

640.jpg

能够看到LED在不断的闪烁,验证成功。

目录
相关文章
|
5月前
|
传感器
stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
522 0
|
5月前
stm32f407探索者开发板(十九)——外部中断实验-EXIT
stm32f407探索者开发板(十九)——外部中断实验-EXIT
371 0
|
5月前
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
836 0
|
5月前
|
芯片
stm32f407探索者开发板(十二)——Systick滴答定时器-延时函数讲解
stm32f407探索者开发板(十二)——Systick滴答定时器-延时函数讲解
312 0
|
5月前
stm32f407探索者开发板(二十三)——定时器中断实验
stm32f407探索者开发板(二十三)——定时器中断实验
558 0
|
5月前
|
程序员
stm32f407探索者开发板(二十一)——窗口看门狗
stm32f407探索者开发板(二十一)——窗口看门狗
193 0
|
5月前
|
芯片
stm32f407探索者开发板(二十)——独立看门狗实验
stm32f407探索者开发板(二十)——独立看门狗实验
356 0
|
5月前
|
监控
stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)
stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)
451 0
|
5月前
stm32f407探索者开发板(十六)——串行通信原理讲解-UART
stm32f407探索者开发板(十六)——串行通信原理讲解-UART
324 0
|
5月前
stm32f407探索者开发板(十五)——NVIC中断优先级管理
stm32f407探索者开发板(十五)——NVIC中断优先级管理
265 0