打印
[MM32软件]

【灵动微电子MM32F5330测评】+开发环境搭建+按键控制LED翻转

[复制链接]
1152|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 聪聪哥哥 于 2024-7-1 21:12 编辑

首先感谢21IC平台给予得测试机会,下面简单介绍一下开发过程。
第一步:固件包下载:灵动Mini-F5333开发板是一款基于MM32F5333D7PV 微控制器的开发板,这里我使用的方法是在灵动官网上直接下载固件包。
我使用开发环境Keil版本V5.38.0.0版本,当使用 KEIL 集成开发环境开发 MM32 微控制器时,需安装本支持包,从而实现在 KEIL 中选择 MM32 芯片型号,调试以及下载。
官方下载链接:https://www.mindmotion.com.cn/software/info.aspx?itemid=170
如果您使用的是IAR开发环境也不用担心,官方也是提供相对应的固件包的;
解压完成后,只需安装F5330的芯片pack就可以了。
个人觉得这样还是比较简单的,如果使用keil安装相应的固件包的话,个人觉得是比较麻烦的,而且对于经验不足的我来说,并不是很友好。而且不建议使用5.39以上版本的KEIL开发工具。
第二步:编程器的环境搭建。
灵动Mini-F5333没有板载MM32的调试器,我们需要自行的找到合适的调试器,这里我所使用的是DAP的调试器,在调试起国产32芯片还是很方便的,图片如下:
接下来我们开箱看一下实物图片,
可以看到打开板子后,是这次需要测评的开发板、小螺丝刀。
开发板板载了两个type-c的接口,通过原理图我们可以知道左侧的接口主要是USB通讯的作用,而右侧的接口是USB转串口的接口,具有串口通讯的作用。是非常常见的32芯片与PC相连的方式。
上电测试一下:
串口硬件连接:
打开电脑上面的设备管理器看一下:
利用串口工具检测一下,串口发送的数据如下所示:
使用的DAP调试器安装如下图:
Keil软件配置信息,如下:
安装好调试器之后,进入调试器配置信息内,可以读取芯片的IDCODE信息
在下载界面,需要选择MM32F5330的下载算法,没有改算法的情况下是不能将程序正常烧录的。
试验目的:利用按键的上升沿进行流水灯的触发;
硬件连接:
这里我使用的按键key2,实现的功能是按键由低变高时,触发使能。

软件代码如下所示:
/*这里我检测的是下升沿,当检测到到低电平时,才会触发流水灯的使能位*/
void JudgeInputData(void)
{

        if( GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_5) ==  Bit_RESET )
        {        

                        blink_flag = 1 ;
        }


                if( GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1) ==  Bit_RESET )
        {        

                        blink_flag = 0 ;
        }

}
/***********************************************************************************************************************
  * @brief
  * @NOTE   none
  * @param  none
  * @retval none
  *********************************************************************************************************************/
void GPIO_LED_blink(int mode )
{
                switch (mode)

                {
                        case 0:      GPIO_WriteBit(GPIOB, GPIO_Pin_10 , Bit_RESET);                                
                         break ;                        
                        case 1:      GPIO_WriteBit(GPIOB, GPIO_Pin_10 , Bit_SET);
                   break ;
                        case 2:      GPIO_WriteBit(GPIOC, GPIO_Pin_7 , Bit_RESET);
                                break ;                        
                        case 3 :     GPIO_WriteBit(GPIOC, GPIO_Pin_7 , Bit_SET);      
                                break  ;
                        case 4 :     GPIO_WriteBit(GPIOC, GPIO_Pin_6 , Bit_RESET);
                                break  ;
                        case 5 :     GPIO_WriteBit(GPIOC, GPIO_Pin_6 , Bit_SET);
                                break  ;

                        default:

                        break ;

                }        
}

主程序:

    printf("\r\nTest %s", __FUNCTION__);

    GPIO_Configure();

    while (1)
    {
/* 检测当前得按键输入状态*/
                        JudgeInputData();

/*只有在按键,触发得状态下,才允许进入LED得闪烁*/                        
                        if(blink_flag == 1)
                        {
                                temp ++ ;
                                if(temp >5) temp = 0 ;
                                GPIO_LED_blink(temp);

                        }
                        GPIO_IO_Toggle(GPIOB,GPIO_Pin_11);

                        PLATFORM_DelayMS(300);        
}

实现现象:
下载程序之后,板载的LEDLED1(红色开始闪烁),
当按下K2按键后,在抬起的之后可以看LED2/LED3/LED4,交替闪烁。
当按下K3按键后,LED灯停止交替闪烁。

实现效果如下:
https://www.bilibili.com/video/BV17R8oetEvV/

GPIO_LED_Toggle_RC.zip

716.67 KB

使用特权

评论回复
沙发
怀揣少年梦| | 2024-7-5 22:36 | 只看该作者
大佬,我安装pack遇到这种报错,

使用特权

评论回复
板凳
聪聪哥哥|  楼主 | 2024-7-6 13:40 | 只看该作者
怀揣少年梦 发表于 2024-7-5 22:36
大佬,我安装pack遇到这种报错,

keil使用的版本是多少?

使用特权

评论回复
地板
怀揣少年梦| | 2024-7-6 22:07 | 只看该作者
聪聪哥哥 发表于 2024-7-6 13:40
keil使用的版本是多少?

V5.25

使用特权

评论回复
5
聪聪哥哥|  楼主 | 2024-7-8 16:40 | 只看该作者

那我这边建议您更换一下高版本的keil试一下

使用特权

评论回复
6
怀揣少年梦| | 2024-7-9 08:33 | 只看该作者
聪聪哥哥 发表于 2024-7-8 16:40
那我这边建议您更换一下高版本的keil试一下

大佬用的是什么版本的?

使用特权

评论回复
7
聪聪哥哥|  楼主 | 2024-7-9 14:02 | 只看该作者
怀揣少年梦 发表于 2024-7-9 08:33
大佬用的是什么版本的?

我用的5.38A

使用特权

评论回复
8
怀揣少年梦| | 2024-7-9 23:21 | 只看该作者

多谢大佬,安装5.38版本立马安装成功

使用特权

评论回复
9
地瓜patch| | 2024-7-30 22:32 | 只看该作者
反转用tragger函数

使用特权

评论回复
10
suncat0504| | 2024-7-31 19:50 | 只看该作者
能正常建立开发环境,成功闪烁LED是实现开发的第一步,虽然看起来简单,但很重要。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

104

帖子

0

粉丝