查看原文
其他

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

杨源鑫 嵌入式云IOT技术圈 2021-01-31


                关注嵌入式云IOT技术群,给你带来更多精彩!

    

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

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

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

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

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

1.1 时钟配置

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

1.2 配置LED

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

1.3 生成Keil MDK工程

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

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

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

出现如下提示

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

二、 运行结果

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

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存