神圣雅诗人 发表于 2020-4-22 19:59

【MM32 eMiniBoard测评报告】+第一次评测

刚到手的mm32L073pf,附上官网网址http://www.mm32mcu.com/我以前从来没听过这款开发板和这家公司,灵动,名字不错,有点像剑灵
了解了一下灵动的产品生态,跟ST差不多,
http://www.mm32mcu.com/userfiles/images/04%E3%80%81%E7%81%B5%E5%8A%A8MM32%20MCU%20%E4%BA%A7%E5%93%81%E5%AE%B6%E6%97%8F(1).jpg
接着先下载相应的资料吧,http://www.mm32mcu.com/download1.aspx这里是资料链接,收到的是mm32L073pf,下载了MM32L0xx(n) 产品手册,MM32L0xx(n) 用户手册,MM32L0xx(n) 库函数和例程,MM32系列 KEIL pack文件包,MM32-Link 应用开发手册,MM32 ISP下载工具,MM32 USB 驱动安装包(我是WIN10,其实不用下)

接下来先通电看看吧

刚上电,板子蜂鸣器一响,吓了我一跳,不知道哪个**写的出厂程序,流水灯闪的也那么快,亮瞎我的眼,板子上的蜂鸣器我还是第一次见,有点东西。
接下来,打开官网提供的例程,E:\MM32L0xx_n_Lib_Samples_V1.20_SC\MM32L073PF_MiniBoard_libReg\MBL073PF_n_reg\BLINK\IOKEY
里面有KEIL的和IAR的,我用的KEIL,打开后,编译没有问题
#include "delay.h"
#include "sys.h"
#include "led.h"
#include "key.h"
/********************************************************************************************************
**函数信息 :main(void)                     
**功能描述 :
**输入参数 :无
**输出参数 :无
********************************************************************************************************/
int main(void)
{
    u8 t=0;
   
    delay_init();       
    LED_Init();                                 //初始化与LED连接的硬件接口
    KEY_Init();                  //初始化与按键连接的硬件接口
   
    while(1)
    {
      t=KEY_Scan(0);                //得到键值
      switch(t)
      {                               
      case KEY1_PRES://K1默认不连PC13,默认连接reset复位按键,所以按下K1会复位
            LED1_TOGGLE();
            break;
      case WKUP_PRES:
            LED2_TOGGLE();
            break;
      case KEY3_PRES:                               
            LED3_TOGGLE();
            break;
      case KEY4_PRES:                               
            LED4_TOGGLE();
            break;
      default:
            delay_ms(10);       
      }
    }
}#include "led.h"

/********************************************************************************************************
**函数信息 :LED_Init(void)                        
**功能描述 :LED初始化
**输入参数 :无
**输出参数 :无
********************************************************************************************************/
void LED_Init(void)
{
   
    RCC->AHBENR|=0xf<<17;//使能GPIOA时钟          
    RCC->APB2ENR|=0x1;
    //JTAG_Set(SWD_ENABLE);        //关闭JTAG,开启SWD
   
    GPIOA->CRH|=GPIO_CRH_MODE15;         //GPIOA->CRH|=0x30000000;//PA15 推挽输出          
    GPIOA->ODR|=GPIO_ODR_ODR15;            // GPIOA->ODR|=1<<15;   //PA15 输出高
   
    GPIOB->CRL|=GPIO_CRL_MODE3|GPIO_CRL_MODE4|GPIO_CRL_MODE5;      ////PB3,PB4,PB5推挽输出
    GPIOB->ODR|=GPIO_ODR_ODR3|GPIO_ODR_ODR4|GPIO_ODR_ODR5;          ////PB.3,PB4,PB5输出高
   
    LED1_ON();
    LED2_ON();
    LED3_ON();
    LED4_ON();
}

#include "key.h"
#include "delay.h"


//按键初始化函数
//PA0 PC13 PB10 PB11设置成输入
void KEY_Init(void)
{
   
   
    RCC->AHBENR|=0xf<<17;   //RCC->APB2ENR|=1<<2;//使能GPIOA时钟                     
   
    GPIOA->CRL&=0XFFFFFFF0;        //PA0设置成输入        ,K2(WK_UP)
    GPIOA->CRL|=GPIO_CRL_CNF0_1;   
   
    GPIOC->CRH&=0XFF0FFFFF;        //PC13设置成输入,K1          
    GPIOC->CRH|=GPIO_CRH_CNF13_1;   
    GPIOC->ODR|=GPIO_ODR_ODR13;                   //PC13上拉
   
    GPIOB->CRH&=0XFFFF00FF;        //PB10,PB11设置成输入,K3,K4          
    GPIOB->CRH|=GPIO_CRH_CNF10_1|GPIO_CRH_CNF11_1;   
    GPIOB->ODR|=GPIO_ODR_ODR10|GPIO_ODR_ODR11;                   //PB10,PB11上拉
   
}
//按键处理函数
//返回按键值
//mode:0,不支持连续按;1,支持连续按;
//返回值:
//0,没有任何按键按下
//KEY1_PRES,KEY1按下
//WKUP_PRES,WK_UP按下
//KEY3_PRES,KEY3按下
//KEY4_PRES,KEY4按下
u8 KEY_Scan(u8 mode)
{       
    static u8 key_up=1;//按键按松开标志
    if(mode)key_up=1;//支持连按                  
    if(key_up&&(KEY1==0||WK_UP==1||KEY3==0||KEY4==0))
    {
      delay_ms(10);//去抖动
      key_up=0;
      if(KEY1==0)return KEY1_PRES;
      else if(WK_UP==1)return WKUP_PRES;
      else if(KEY3==0)return KEY3_PRES;
      else if(KEY4==0)return KEY4_PRES;
    }else if(KEY1==1&&KEY3==1&&KEY4==1&&WK_UP==0)key_up=1;              
    return 0;// 无按键按下
}



















烧写的时候遇到问题了,官网提供的软件ispV2.3.exe,打开后点没反应,连接不上,弄了好久都没搞好,先网上找找资料再来斗

gaoyang9992006 发表于 2020-4-22 20:24

你的按键程序,按键能有效吗,跟开发板的都不对应{:lol:}

神圣雅诗人 发表于 2020-4-23 07:44

gaoyang9992006 发表于 2020-4-22 20:24
你的按键程序,按键能有效吗,跟开发板的都不对应

难道我下错了

gaoyang9992006 发表于 2020-4-23 08:27

神圣雅诗人 发表于 2020-4-23 07:44
难道我下错了

官方提供的例子就不是针对这个开发板的,按键端口都不匹配,按键想正常使用要自己重新配置。

1421027452 发表于 2020-5-9 15:01

流水灯闪的也那么快
--------------------------
出厂测试程序通过调节电位器调整闪烁频率。
页: [1]
查看完整版本: 【MM32 eMiniBoard测评报告】+第一次评测