位置: IT常识 - 正文
推荐整理分享MM32开发教程(LED灯)(mm32开发教程),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mm32 mcu,mm32 stlink,mm32 mcu,srm32开发板,ministm32f103开发板原理图,mm32 stlink,srm32开发板,ministm32f103开发板原理图,内容如对您有帮助,希望把文章链接给更多的朋友!
今天将为大家介绍一款性能高体积小的MM32,这款开发板出自百问网团队。他就是灵动的MM32F3273,他体积非常小便于携带。 有128KB的SRAM、512KB的Flash、而且还支持双TypeC接口、板载DAP-Link、支持C语言和python开发。其他功能以后为大家一 一体验,今天我们就先点亮一个LED灯吧。
一、MM32介绍和STM32的区别MM32和STM32都是基于ARM架构下所设计的。 MM32和STM32的相同点主要是:两者都支持32位处理器;两者都支持多种I/O接口,如SPI、I2C等;两者都支持内部存储器和外部存储器;两者都支持多种外设,如ADC、DAC等。 本款MM32采用了ARM Cortex-M3的架构,主频高达120MHZ。包含多达 3 个 12 位的 ADC、2 个比较器、2 个 16 位通用定时器、2 个 32 位通用定时器、2 个 16 位基本定时器和 2 个 16 位高级定时器。还包含标准的通信接口:2 个 I2C 接口、3 个 I2S 接口、3 个 SPI 接口、1 个 USB OTG 全速接口、1 个 CAN 接口、1 个 SDIO 接口和 8 个UART 接口。
二、板载LED灯原理图板子上的用户LED灯连接到了PA1,根据原理图可以知道PA1输出0时LED点亮,PA1输出1时LED熄灭。所以我们需要将PA1设置为输出模式。
三、代码编写假如之前学习过STM32那么这款MM32还是非常容易上手的,代码的逻辑都是差不多的,只不过是函数名字有些变化。 这里我们使用模块化编程: driver_led.h
#ifndef __DRV_LED_H#define __DRV_LED_H#define BOARD_LED_PIN GPIO_PIN_1#define BOARD_LED_PORT GPIOA#define BOARD_LED_GPIO_CLK_EN() RCC_EnableAHB1Periphs(RCC_AHB1_PERIPH_GPIOA, true)/*LED初始化函数*/void Drv_LED_Init(void);#endif这里和STM32有一些区别的就是:RCC_EnableAHB1Periphs时钟使能函数 这个函数有两个参数: ahb1_periphs:哪一组引脚 enable:是否使能
void RCC_EnableAHB1Periphs(uint32_t ahb1_periphs, bool enable){ (enable) ? (RCC->AHB1ENR |= ahb1_periphs) : (RCC->AHB1ENR &= ~ahb1_periphs);}driver_led.c MM32的引脚初始化流程和STM32都是一样的,这里就不多讲解了注释中已经讲解的很明白了。
#include "drv_led.h"#include "mm32f327xx_hal_config.h"void Drv_LED_Init(void){ /* 调用GPIO的HAL库对象结构体上一篇:Vue 实现拖拽模块(二)自定义拖拽组件位置(vue模块拖拽)
下一篇:vue2计算属性computed(vue2计算属性和vue3的计算属性的区别)
友情链接: 武汉网站建设