灵动微电子 EVB-L0130 (MM32L0136C7P) 开发板使用指南
一、硬件介绍EVB-L0130 属于 MM32 EVBoard 系列开发板,该开发板为基于 Cortex-M0+的开发板,支持 MM32L0130MCU
1、主要特点
EVB-L0130 开发板具有如下特点:
⚫ 支持高达 4KV EFT 抗干扰能力
⚫ 支持 SWD 调试接口
⚫ 目标 MCU USB 接口供电
⚫ 5-按键
⚫ 4-LED
⚫ 2-UART 连接器
⚫ 1-USB 连接器
⚫ 1-8Mbit 的 SPI Flash 存储器
⚫ 1-2048bit 的 I2C 存储器
⚫ 4-引脚功能选择开关
⚫ 1-3.5mm 耳机插座,用于 I2S L/R 音频输出
⚫ 1-无源扬声器
⚫ 1-3 模拟输入电位器
⚫ 1-板载段码 LCD 屏
⚫ 全贴片工艺设计
2、部分硬件介绍
UART 输出连接关系表
注意事项:
由于板载 UART2 接口中的 TXD2、 RXD2 与 CN7 调试接口(JTAG调试接口)中 UART 的 TXD、 RXD 的引脚共用,均为 PA2 和 PA3,在使用过程中,板载 UART2 接口与 CN7 调试接口中的 UART 请勿同时使用。
二、相关资料(相关工具下载等)
1、开发板相关文档、例程等
点此下载
2、Pack包安装
参考此安装方法(需安装" MM32L0xx"Pack包),与 FTHR-G0001 开发类似。
三、代码程序编写(按键点亮板载LED)
1、打开工程代码例程
打开下载的”MM32L0130库函数与例程”文件,以GPIO_LED_Toggle工程为基础,进行相关后续代码的编写。
(…\LibSamples_MM32L0130_V0.10.4\Samples\LibSamples\GPIO\GPIO_LED_Toggle)
示例代码效果为: 串口2输出相关信息 并且 LED1~LED4 进行闪烁。
2、程序代码编写
1.代码主要功能
当按下K1时,LED1点亮,再次按下时,熄灭,LED2 ~ LED4(K2 ~ K4)同理。
同时在串口2中输出(当前按键的状态)
2.按键代码编写
1°初始化按键功能
//在platform.c中编写 按键初始化函数 void PLATFORM_InitKEY(void);
void PLATFORM_InitKEY(void){
GPIO_InitTypeDef GPIO_InitStruct;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOD, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
GPIO_StructInit(&GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2; // K1
GPIO_InitStruct.GPIO_Mode= GPIO_Mode_IPD;
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5; //K4
GPIO_InitStruct.GPIO_Mode= GPIO_Mode_IPU;
GPIO_Init(GPIOB, &GPIO_InitStruct);
GPIO_StructInit(&GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5; // K2
GPIO_InitStruct.GPIO_Mode= GPIO_Mode_IPU;
GPIO_Init(GPIOD, &GPIO_InitStruct);
GPIO_StructInit(&GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8; // K3
GPIO_InitStruct.GPIO_Mode= GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO_InitStruct);
}
// 注:将 void PLATFORM_InitLED(void) 中 LED初始化(默认点亮) 改为 熄灭状态
void PLATFORM_InitLED(void){
.....
.....
PLATFORM_LED_Enable(LED1, DISABLE);
PLATFORM_LED_Enable(LED2, DISABLE);
PLATFORM_LED_Enable(LED3, DISABLE);
PLATFORM_LED_Enable(LED4, DISABLE);
}
2°按键控制LED功能函数
//在platform.c中编写 按键控制LED功能函数
// State->按键状态,Count->按键延时计数,InputLevel->当前按键的电平
// ActiveLevel->按键按下时的电平,Name->当前按键的名称
//void KEY_Handler(uint8_t *State, uint8_t *Count, uint8_t InputLevel, uint8_t ActiveLevel, char *Name)
void KEY_Handler(uint8_t *State, uint8_t *Count, uint8_t InputLevel, uint8_t ActiveLevel, char *Name)
{
if (0 == *State) //按键当前状态 (按键未按下状态 (State = 0))
{
if (InputLevel == ActiveLevel)//按键按下
{
*Count += 1;
if (*Count >= 5) //消抖
{
*State = 1;
*Count = 0;
printf("\r\n%s Pressed", Name);
PLATFORM_LED_Toggle(*(Name + 1 ) - '1'); // 当前按键所对应的LED (翻转LED状态)
}
}
}
else //(按键按下状态 (State = 1))
{
if (InputLevel != ActiveLevel)//按键已松开
{
*Count += 1;
if (*Count >= 5) //消抖
{
*State = 0;
*Count = 0;
printf("\r\n%s Release", Name); //按键松开
}
}
else //长按状态
{
*Count = 0;
}
}
}
3°将按键与对应的LED进行绑定
//在platform.c中 编写 void KEY_LED(void); 将按键与对应的LED进行绑定
void KEY_LED(void)
{
static uint8_t KeyState =
{
0, 0, 0, 0
};
static uint8_t KeyCount =
{
0, 0, 0, 0
};
while (1)
{
KEY_Handler(&KeyState, &KeyCount,
GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_2), Bit_SET, "K1");
KEY_Handler(&KeyState, &KeyCount,
GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8), Bit_RESET, "K2");
KEY_Handler(&KeyState, &KeyCount,
GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_5), Bit_RESET, "K3");
KEY_Handler(&KeyState, &KeyCount,
GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_5), Bit_RESET, "K4");
}
}
3.主函数
//main.c
int main(void)
{
PLATFORM_Init();
while (1)
{
}
}
//platform.c
void PLATFORM_Init(void)
{
PLATFORM_InitDelay();
PLATFORM_InitConsole(115200);
PLATFORM_InitLED();
PLATFORM_InitKEY(); // 初始化按键
PLATFORM_PrintInfo();
KEY_LED(); // 按键点亮LED
}
四、程序烧录(连接方式)
1、SWD接口连接
SWDIO -> PA13
SWCLK -> PA14
2、串口2连接
RX -> UART2(TXD2) 或 PA2
五、效果演示
按键点亮LED
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_44929802/article/details/144317657
开发板搭载 MM32L0136C7P 芯片,采用 Arm Cortex-M0+ 内核,工作频率高达 48MHz
其内置 64KB Flash 和 8KB SRAM,还外扩了 8Mbit 的 SPI Flash 存储器以及 2048bit 的 I2C 存储器,可满足程序存储和数据缓存的需求
芯片拥有丰富的接口,包括 UART、SPI、Micro-USB 等通信接口,方便与外部设备进行数据传输
板载段码 LCD 屏,可用于显示简单的字符、图形等信息,并且该 LCD 屏具有一些特殊功能
开发板配备 4 个按键、4 个 LED、4 个功能选择开关、1 个 I2S Speaker、1 个 3.5mm 耳机插座用于 I2S L/R 音频输出,以及 1 个无源扬声器和 3 个模拟输入电位器等
配合 ARM Keil/IAR 集成开发环境,构成完整的开发生态,主流开发设计工具和编程器厂家也已实现对该开发板的支持
灵动微电子官方提供了丰富的库函数与例程,帮助开发者快速上手,例如在 “GPIO_LED_Toggle” 工程基础上,可进行按键点亮板载 LED 等相关代码的编写
它支持高达 4KV EFT 抗干扰能力,提高了系统的稳定性和可靠性
该开发板所搭载的芯片具有出色的低功耗模式,可在低功耗、短启动时间和多种唤醒事件之间达到最佳平衡
电路板使用全贴片工艺设计,使得开发板更加紧凑、稳定,有利于提高生产效率和产品质量
页:
[1]