【MM32F5270开发板试用】串口中断试用,希望灵动提供ETH的HAL库

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

一、评测简介

很荣幸这次参加MM32F5270开发板评测,这次参加的原因是想测试一下STAR-MC1架构的ETH模块,但是发现灵动mindsdk并没有提供ETH相关的HAL库,这就有点尴尬了,只能放弃掉之前的测试计划。转而完成对开发板的串口中断进行评测。

二、开发板开箱

开发板的图片如图所示,盒子上有开发板贴图,可以看到是为2022年全国大学生物联网设计竞赛提供的开发板。这款开发板是逐飞做的开发板,做智能车的小伙伴都比较熟悉了。

1. 开发板本体

开发板是这样,外设还比较多。MPU6050、光敏电阻、麦克风、电位器、以太网等等。尴尬的就是官方没有提供ETH相关的HAL库,无法使用,我去找了逐飞,逐飞他们也没有ETH相关内容提供。可能这个物联网比赛里用无线的多一点,比如8266、或者是SPI的无线网卡。

板卡结构如图,外设非常多,就是我想要的以太网没提供软件资料。这次测评我就评测板子的串口中断啦。

2. 开发板附赠

在这里插入图片描述

开发板带了一个SWD的调试器,还有一张防BUG的黄色卡纸,这个真的是吸睛呀,感觉很灵性,多给几张就好了。

这个SWD接口用起来不太方便,需要插USB然后杜邦线连到开发板的20P的SWD接口上。正好我手里有逐飞的SWD下载器,找个转接板就可以啦,非常方便。

三、评测过程

1.MDK更新及PACK安装

因为STAR-MC1是一个比较新的内核,类似于Cortex-M33,所以旧版本的MDK不支持STAR-MC1的PACK安装,这里需要使用MDK-V5.37版本以上才可以安装MM32F5277E_DFP.0.0.7.pack,所以我又去下载安装了一次MDK。安装以及破X过程忽略啦。链接放在下面啦。

https://armkeil.blob.core.windows.net/eval/MDK537.EXE

安装完MDK后需要安装PACK,灵动将所有PACK全部打包,下载解压后直接安装即可,默认会自动适配MDK-PACK的路径。

https://www.mindmotion.com.cn/support/software/keil_pack

2. MindSDK下载

MindSDK是灵动提供的SDK下载途径,这里我们需要注册下账号,然后选择MDK的SDK及开发板为plus-f5270,选择建立工程即可。

https://www.mindmotion.com.cn/support/software/keil_pack

也可以打开下面SDK API DOCUMENT看看相关的API信息,反正里面是没有ETH相关的信息,这个就比较失望了。

3. Demo测试

下载完SDK后,就可以打开hello world工程来编译下看看了。

如图所示,设置好下载器及下载完成后自动复位,然后插着Type-C接口的串口USB并编译程序。

编译完成后0错误,0警告,下载即可。

当前程序下载完后,会打印一个hello world,复位开发板后发现串口输出了hello world。

但是要注意一下,默认代码的波特率是9600,一般我们都用115200,所以没有输出的时候注意看一下是不是波特率没有设置正确。

4. 串口中断测试

还是使用之前的hello world程序。只需要打开串口中断使能。

首先我们在board.h里定义一下中断源及中断句柄

#define BOARD_DEBUG_UART_IRQn        UART1_IRQn
#define BOARD_DEBUG_UART_IRQHandler  UART1_IRQHandler

然后在串口初始化中打开串口接收使能。

48行使能的第一个参数就是串口回调函数的句柄。所以我们还需要创建一个串口中断回调函数。

这里你会发现,我在57行读了一下串口接收到的数据,下面来对比一下如果没有它会怎么样呢。

5. 演示结果

我们注释掉这里的代码,如果串口接收到数据,那么它就会进入回调函数从而打印出hello world。

大家可以看到,我发了一个1,结果串口中断打印了成百上千个hello world,这说明一直在重复执行中断中的程序。

这是怎么回事呢,因为ARM默认串口中断不会自动清除中断标志位,需要手动清除下中断标志位。可以有两种方式,一种就是使用清除中断的API,另外就是读一下接收BUFF中缓冲的数据。我这里使用的就是第二种方式,接下来我们取消掉注释试试看。

可以看到,我发送了字符1,它输出了两次hello world。已经没有刚才一直卡在中断里的情况了。

四、评测总结

灵动MM32F5270还是ARM的M核,所以SDK和M3相差不大,但是指令集里相差挺多东西的,这个是有Trust Zone的。使用起来挺方便,特别是灵动提供的MindSDK,希望灵动可以更新下ETH相关的HAL驱动,我想开发下这块开发板的ETH相关应用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值