本篇文章来自极术社区与灵动组织的MM32F5270开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:Zeee

前言:

首先,感谢灵动微电子与极术社区给予宝贵的试用机会。借助本次对Plus-F5270开发板的试用,第一次接触到了高性能物联网开发板,非常荣幸,十分感谢。同时极术社区中有许多优秀的文章提供了指导,感谢各位大佬的指点。


开发板资料介绍:

  • MM32F5270是基于安谋科技的 Armv-8 架构的“星辰”STAR-MC1 处理器开发的 32 位微控制器产品,主控工作频率可达120MHz,内置多达 256KB Flash 和 192KB RAM,配置浮点运算单元(Floating Point Unit, FPU)、数字信号处理单元(Digital Signal Processing, DSP)、信号间互联矩阵MindSwitch、可配置逻辑单元CLU、三角函数加速单元CORDIC等算法加速单元,并集成了丰富的外设模块和充足的 I/O 端口。内置了 L1 ICache、DCache、指令紧密耦合存储器 ITCM 和数据紧密耦合存储器 DTCM,同时具备高性能和低功耗的特点。

PLUS-F5270开发板功能示意框图:


开箱体验:

拆开包装盒,里面开发套件共有5件:
1、 Plus-F5270开发板
2、 创芯工坊PWLINK2(DAP)
3、 杜邦线
4、 USB Type-C数据线
5、 开发板说明页
ps:防bug符还挺有趣的。


环境说明:

系统:WIN10
KEIL:KEIL 5 uVision v5.37
(建议将keil5升级到最新版5.37,因为版本低可能造成pack包安装出错)

  • MM32F5270的Pack支持包(MindMotion.MM32F5277E\_DFP.0.0.6.pack)下载:

https://www.mindmotion.com.cn/support/software/keil\_pack

选择这个版本安装

  • MM32F5270的例程demo文件下载:
    https://mindsdk.mindmotion.com.cn
    ps:需要注册账号登录才能下载


配置与烧录:

PWLINK2烧录器连接:

  • 烧录器连上电脑,使用杜邦线按SWD调试接口引脚定义图连接:

Keil5配置:

  • 打开魔术棒点击debug界面选择切换成CMSIS-DAP


灵动例程开发:

  1. GPIO输入-按键检测

灵动微电子官网SDK有很多例程,将下载的例程包文件(plus-f5270\_mdk)解压找到driver\_examples,里面有许多的目录,进入gpio目录,直接运行以.uvprojx结尾的工程文件。如图所示。

  • 硬件原理

  • 软件代码
    #include <stdint.h> #include <stdio.h> #include “board_init.h” /* * Definitions / / * Variables*/ /** Declerations*/ /** Functions*/ void delay(int i) { while(i–); } int main(void) { BOARD_Init(); printf(“\r\ngpio_basic example.\r\n”); while (1) { if ( GPIO_ReadInDataBit(BOARD_KEY0_GPIO_PORT, BOARD_KEY0_GPIO_PIN) ) /* 按键S4未按下,LED点亮*/ { GPIO_WriteBit(BOARD_LED2_GPIO_PORT, BOARD_LED2_GPIO_PIN, 1u); /* LED off. / GPIO_WriteBit(BOARD_LED3_GPIO_PORT, BOARD_LED3_GPIO_PIN, 1u); / LED off. / GPIO_WriteBit(BOARD_LED0_GPIO_PORT, BOARD_LED0_GPIO_PIN, 1u); / LED off. / GPIO_WriteBit(BOARD_LED1_GPIO_PORT, BOARD_LED1_GPIO_PIN, 1u); / LED off / } else / 按键S4按下,LED熄灭*/ { GPIO_WriteBit(BOARD_LED3_GPIO_PORT, BOARD_LED3_GPIO_PIN, 0u); /* LED on. / delay(600000); GPIO_WriteBit(BOARD_LED2_GPIO_PORT, BOARD_LED2_GPIO_PIN, 0u); / LED on. / delay(600000); GPIO_WriteBit(BOARD_LED1_GPIO_PORT, BOARD_LED1_GPIO_PIN, 0u); / LED on. / delay(600000); GPIO_WriteBit(BOARD_LED0_GPIO_PORT, BOARD_LED0_GPIO_PIN, 0u); / LED on. */ delay(600000); } } }

点击“Build Target”,无报错。点击Download按钮,提示下载成功。

  • 执行结果
    按下S4按键时,GPIO读取输入电平为低,将对应LED引脚电位拉低,此时LED全部依次点亮,反之松开按键,LED全部熄灭。
  1. EXTI外部中断-按键计数

例程包中找到driver\_examples,进入exti目录,直接打开以.uvprojx结尾的工程文件后编译并且烧录。

  • 软件代码
#include "board_init.h"/* * 定义*/volatile bool app_exti_event_on = false; /* 中断状态 */volatile uint32_t app_exti_event_times = 0u; /*计算中断时间*//** Declerations */void app_exti_init(void);/** Functions*/int main(void){BOARD_Init();printf("\r\n<<<exti_basic_example>>>\r\n");/* 设置exti和syscfg */app_exti_init();  //初始化extiwhile (1){while ( !app_exti_event_on ) /* 检查中断状态*/{}app_exti_event_on = false; /*清除中断标志位 */app_exti_event_times += 1u; /* 计数1次 */printf("exti interrupt times:%u.\r\n", (unsigned)app_exti_event_times);}}/*设置外部中断和系统配置*/void app_exti_init(void){SYSCFG_SetExtIntMux(BOARD_SYSCFG_EXTIPORT, BOARD_SYSCFG_EXTILINE);/* 配置外部中断和使能 */EXTI_SetTriggerIn(BOARD_EXTI_PORT, BOARD_EXTI_LINE, EXTI_TriggerIn_FallingEdge);EXTI_EnableLineInterrupt(BOARD_EXTI_PORT, BOARD_EXTI_LINE, true);/* 配置NVIC */NVIC_EnableIRQ(BOARD_EXTI_IRQN);}/* EXTI IRQ Handler */void BOARD_EXTI_IRQHandler(void){uint32_t flags = EXTI_GetLineStatus(BOARD_EXTI_PORT);if ( 0u != ( flags & BOARD_EXTI_LINE ) ) /* Interrupts. */{app_exti_event_on = true;}EXTI_ClearLineStatus(BOARD_EXTI_PORT, flags);}
  • 执行结果

打开串口助手可以看到程序已成功运行,当按下按键S4产生外部中断信号,实现了输入信号下降沿的检测,触发中断计数1次,如图所示。

ps:串口波特率(Baud rate):9600,且与电脑通信时需连接USB-UART CH340E端口 。


总结

再次感谢极术社区给予宝贵的试用机会,通过这两天的试用,从各方面上手可以看出MM32F5270开发板是一款面向物联网的多功能高性能开发板,板子接口十分丰富,结构布局合理。最后希望通过开源社区的形式,把产品和相关生态一起完善起来,推动国产MCU的崛起突出重围。
本次是从例程demo简单的上手开发,最终成功实现了例程的功能。针对这块板子,后续我会尝试这几个方向开发:基于科大讯飞的语言识别助手、基于MQTT协议的远程监测系统。本篇分享到这里就结束了,感谢大家的观看,下次再会~

【MM32F5270开发板试用】GPIO输入+EXTI外部中断例程demo试用相关推荐

  1. ATmega16开发板教程(5)——外部中断

    ​6.外部中断 这里主要编写外部中断0和1的边沿触发,通过LED状态显示. 外部中断0 外部中断我们要知道的是:①如何触发?上升沿.下降沿还是高低电平:②外部中断使能:③中断服务函数的编写. AVR提 ...

  2. gd32f303 设计中断优先级_ALIENTEK 阿波罗 STM32F767 开发板资料连载第九章 外部中断实验...

    1)实验平台:alientek 阿波罗 STM32F767 开发板2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第九章 外部中断实验 这 ...

  3. STM32CubeMX学习教程之二:GPIO输入之外部中断

    完整源码下载: https://github.com/simonliu009/STM32CubeMX-GPIO-EXIT 本篇主要讲述GPIO外部中断输入检测,实际物理输入方式是按键,但是实际上更适合 ...

  4. 【MM32F5270开发板试用】 MindSDK使用测评

    本篇文章来自极术社区与灵动组织的MM32F5270开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:胖墩墩 一.前言: 非常感谢极术社区和灵动微电子开展的MM32F5270开发板试用申请活动 ...

  5. 【MM32F5270开发板试用】移植Google Chrome小恐龙游戏到MM32F5270

    本篇文章来自极术社区与灵动组织的MM32F5270开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:曾是一颗薏米 一.项目背景 在几年前,Google 给 Chrome 浏览器加了一个有趣的 ...

  6. 【MM32F5270开发板试用】快速移植STM32应用到MM32F5270(以OLED为例)

    本篇文章来自极术社区与灵动组织的MM32F5270开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:@#@ 本篇文章来自极术社区与灵动组织的MM32F5270开发板评测活动,更多开发板试用活 ...

  7. 【MM32F5270开发板试用】手势传感PAJ7620U2的智能家居应用

    本篇文章来自极术社区与灵动组织的MM32F5270开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:风云再起 一.序 很高兴能参加极术社区联合灵动微电子组织的[灵动MM32F5270开发板试 ...

  8. 【MM32F5270开发板试用】RT-Thread SPI 驱动适配指南

    本篇文章来自极术社区与灵动组织的MM32F5270开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:xusiwei1236 本文记录了我在社区"Rice我叫加饭?"大佬移 ...

  9. 【MM32F5270开发板试用】定制MicroPython及读取MPU6050数据到OLED1306

    本篇文章来自极术社区与灵动组织的MM32F5270开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:HonestQiao 前言 这次有幸获得MM32F5270开发板的试用,非常幸运. 收到板 ...

最新文章

  1. Java 之String、StringBuffer 和 StringBuilder 三者区别介绍
  2. vue + element +tp5 个人博客后台管理小记
  3. C# 获取几种路径的方式
  4. python3 字符串 转 ascii码
  5. android 点击退出账号,Android应用退出登录的实现方法
  6. 快手于冰:跟最优秀的人一起追求极致
  7. 简单深搜(poj 3009)
  8. BZOJ3928 [Cerc2014] Outer space invaders
  9. )类 新建javafx程序时_关于JavaFX杂谈
  10. 一个方便的颜色主题组件
  11. Java 开发新选择?Apache NetBeans IDE 9.0 正式发布
  12. Effective Objective-C 2.0 Tips 总结 Chapter 3 Chapter 4
  13. 数据结构:顺序栈的基本操作及实现
  14. 为贝尔吉比特电信G-120W-B光猫添加自动重启功能
  15. html做彩色方格,超级炫酷,美图秀秀制作超漂亮彩色格子字图文教程
  16. linux富文本软件,CherryTree(技术人员专用富文本笔记软件)
  17. 【Adobe Premiere Pro 2020】pr2020安装和基本操作【PR安装、新建项目流程、导入及管理素材项目文件、添加标记、创建出入点剪辑视频、快速剪接及自动音乐卡点的方法
  18. 网站优化关键词选择时需要的注意事项
  19. flea-cache使用之整合Memcached和Redis接入
  20. 卓训教育:给孩子讲故事,打造学习愿景

热门文章

  1. Linux环境基础开发工具使用(上)
  2. 深入浅出分布式系统中的缓存架构
  3. 网络高级命令使用,Linux测试带宽,抓包,一篇解决。
  4. PB获取系统版本号, 支持win7, win8,win10
  5. Android支付SDK开发在App中调起H5支付的实现
  6. 电源锁WakeLock不起作用
  7. [机缘参悟-32]:鬼谷子-抵巇[xī]篇-面对危险与问题的五种态度
  8. 【刷题】牛客网面试必刷TOP101
  9. 避免成为新兵训练营毕业生的错误
  10. 后端架构token授权认证机制:spring security JSON Web Token(JWT)简例