ddllxxrr 发表于 2018-10-21 09:06

MM32F031开发板评测3:点亮D2

<div class='showpostmsg'> 本帖最后由 ddllxxrr 于 2018-10-27 20:13 编辑

有板子的都知道D2是指的什么。没有板子的以为是炸弹也不为过。D2是指迷你板的一个蓝色LED。
首先要注意的是芯片,我的芯片不是MMF103而是MMF031C8T,具体的得看你手里的板子芯片丝印。

根据原理图:


明显是A8,注意应短接A8与D2的两个管脚,因为我研究一下,D2另一端接的是电源3.3V,也就是说A8为低电平时亮。
然后,打开下边的例程里的BLINK例程里边的TOGGLE


改如下:
首先led.h加入A8

#define LED5_ON()GPIO_ResetBits(GPIOA,GPIO_Pin_8)      // PA8
#define LED5_OFF()GPIO_SetBits(GPIOA,GPIO_Pin_8)      // PA8
#define LED5_TOGGLE()(GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_8))?(GPIO_ResetBits(GPIOA,GPIO_Pin_8)):(GPIO_SetBits(GPIOA,GPIO_Pin_8))      // PA8

再有在初始化时加入:A8的初始化
#include "led.h"
#include "HAL_rcc.h"
/********************************************************************************************************
**oˉêyDÅÏ¢ £oLED_Init(void)                        
**1|ÄüÃèêö £oLED3õê¼»ˉ
**êäèë2Îêy £oÎT
**êä3ö2Îêy £oÎT
********************************************************************************************************/
void LED_Init(void)
{
   
    GPIO_InitTypeDefGPIO_InitStructure;
   
   
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA|RCC_AHBPeriph_GPIOB, ENABLE);//¿aÆôGPIOA,GPIOBê±Öó
   
    GPIO_InitStructure.GPIO_Pin=GPIO_Pin_15|GPIO_Pin_8;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
   
    GPIO_InitStructure.GPIO_Pin= GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOB, &GPIO_InitStructure);
   
    LED1_OFF();
    LED2_OFF();
    LED3_OFF();
    LED4_OFF();
}



主函数加入LED5TOGGLE:

#include "delay.h"
#include "sys.h"
#include "led.h"
#include "uart.h"
/********************************************************************************************************
**oˉêyDÅÏ¢ £omain(void)                     
**1|ÄüÃèêö £o
**êäèë2Îêy £oÎT
**êä3ö2Îêy £oÎT
********************************************************************************************************/
int main(void)   
{
    delay_init();
    LED_Init();
    while(1)            //ÎTÏTÑ-»·
    {
      LED1_TOGGLE();
      LED2_TOGGLE();
      LED3_TOGGLE();
      LED4_TOGGLE();
                        LED5_TOGGLE();
      delay_ms(1000);
    }
}



以下是视频:
http://v.youku.com/v_show/id_XMz ... j.8428770.3416059.1





此内容由EEWORLD论坛网友ddllxxrr原创,如需转载或用于商业用途需征得作者同意并注明出处


</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

newdrive 发表于 2018-10-21 21:16

:victory:
页: [1]
查看完整版本: MM32F031开发板评测3:点亮D2