使用mm32f3277g7p代替stm32f103rct6软件篇-点灯

2023-11-23 13:30

本文主要是介绍使用mm32f3277g7p代替stm32f103rct6软件篇-点灯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

虽说mm32f3277g7p和stm32f103rct6引脚兼容,但想软件兼容也不是容易的事。在灵动微官网下载了mm32f3270例程和固件库后,开始改软件,实现点灯功能。

例程和固件库下载地址如下:

上海灵动微电子股份有限公司上海灵动微电子股份有限公司https://www.mindmotion.com.cn/products/mm32mcu/mm32f/mm32f_mainstream/mm32f3270/打开GPIO例程后,和正点原子的miniSTM32例程对比,可以看出来,软件框架结构没有改变,固件库、启动文件要换成灵动微的。移除原USER文件夹里面的stm32f10x_it.c。移除CORE文件夹里面的core_cm3.c文件。mm32固件库只有core_cm3.h文件。原SYSTEM里面的3个文件虽然名字差不多,里面内容变动很大,需要替换。

 mm32f3277g7p没有位带操作功能,所以不能像stm32那样复用位带操作端口再赋值使用。端口定义的风格有点像野火mini版的例程。

外设配置程序里面,需要修改时钟配置函数和端口的时钟名称。IO口其他参数设置不用修改。

 下面蓝线圈起来的3句程序作用是禁止JTAG接口,允许SW调试接口。stm32对应固件库的语句为

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//关闭jtag,使能SWD,可以用SWD模式调试

下面红线圈起来的语句是禁止PB5的复用功能,只使用PB5做通用IO口功能。如果想使用某一个IO口的复用功能,要查找复用功能表,找到对应复用功能的编号,把GPIO_AF_15改成对应的编号即可。

main函数中mm32f3277使用宏定义操作IO口打开和关闭,而stm32直接使用库函数控制IO口置1和清0.

 mm32f3277的delay函数里面默认使用systick中断进行延时,且只有ms级延时,没有us级延时函数,如果想用到us级延时,需要自己添加相应函数。或者不使用systick中断延时,直接使用nop循环延时。

 mm32f3277每个头文件里面都有对应文件名的宏定义,使用.c文件时要声明一下。

 

mm32f3277系统固件库和stm32固件库相比改动还是比较大的,之前的mm32f103系列固件库和stm32f103固件库一样。

这篇关于使用mm32f3277g7p代替stm32f103rct6软件篇-点灯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/418288

相关文章

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

SpringBoot3中使用虚拟线程的完整步骤

《SpringBoot3中使用虚拟线程的完整步骤》在SpringBoot3中使用Java21+的虚拟线程(VirtualThreads)可以显著提升I/O密集型应用的并发能力,这篇文章为大家介绍了详细... 目录1. 环境准备2. 配置虚拟线程方式一:全局启用虚拟线程(Tomcat/Jetty)方式二:异步

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

Java Lambda表达式的使用详解

《JavaLambda表达式的使用详解》:本文主要介绍JavaLambda表达式的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言二、Lambda表达式概述1. 什么是Lambda表达式?三、Lambda表达式的语法规则1. 无参数的Lambda表

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Spring @RequestMapping 注解及使用技巧详解

《Spring@RequestMapping注解及使用技巧详解》@RequestMapping是SpringMVC中定义请求映射规则的核心注解,用于将HTTP请求映射到Controller处理方法... 目录一、核心作用二、关键参数说明三、快捷组合注解四、动态路径参数(@PathVariable)五、匹配请