10600|1

156

帖子

1

TA的资源

一粒金砂(中级)

楼主
 

【新驱动力科技MM32F031C6开发板评测】搭建开发环境&搭建第一个工程&串口DMA定长接收 [复制链接]

    收到开发板很久了,可是忙于工作没时间发帖子,今天开始搭建了个初步的工程,用于以后的开发。
    MM32是上海灵动微电子公司出品的ARM单片机,类似STM32单片机,基于ARM Cortex M内核,我这次拿到的是MM32F031,也就是一款M0内核的单片机,要进行开发,首先要下载基于MDK5.25的MM32F031的pack包和SDK即固件库。MM32F031的pack在MDK的官网可以找到:

    下载好了之后在MDK内部的pack installer里面安装pack包,安装好之后就可以找到MM32F030C6的MCU型号了:

    然后是连接开发板并进行烧录的准备,我这里直接使用JLINKOB的4根线连接MM32板子,以实现ICP下载,并通过一条MicroUSB线连接开发板的板载虚拟串口的USB接口,这个USB接口是由CH340芯片转出来的,直接连到了单片机的PA9和PA10即串口1,将数据线插上电脑之后就可以进行串口通信和ISP下载(不过我并不需要ISP下载):

然后下载官方的SDK代码工程,在新驱动力官网是没有的,只有在上海灵动微电子MM32的官网才能找到:
http://www.mindmotion.com.cn/download1.aspx

打开SDK,设置连接模式为SWD模式,如果JLINKOB连线没有问题的话,是可以找到MCU的设备的,然后再把下载完复位选项勾上:

官方的SDK中有库函数和寄存器两种版本,为了开发方便当然选库函数:

由于项目中需要用到串口接收,因此我选择的工程模版是官方给出的串口DMA中断定长接收,这里需要特别说明一点,由于MM32目前全系列都没有串口空闲中断外设,因此没有办法在串口接收到一帧数据之后产生中断,所以只能用DMA中断实现定长接收,或者是在引入了结束标志位的前提下进行不定长接收,但是这个方法不完善,存在BUG,因此现在最好的方法是引入结束标志位+DMA定长接收,这样子就可以确保接收到的数据绝对是符合通信规范的,不符合通信规范的数据都丢掉,减少串口通信中错误发生的可能性

然后连上P4跳帽,使得板载的LED-D2可以锁定PA8引脚,因为D2另一端是连接VCC,所以PA8要置低电平才可以点亮LED。使用DMA进行串口定长接收,用0x0d 0x0a做结束符:

点灯:

上传我自己归纳整理的例程: MM32F031C6T6.zip (133.44 KB, 下载次数: 38)


此帖出自单片机论坛

最新回复

谢谢楼主的分享   详情 回复 发表于 2019-10-18 14:57
点赞 关注(1)
 

回复
举报

5

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

谢谢楼主的分享

此帖出自单片机论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表