打印
[MCU]

【MSP432评测】 -- 1、搭建环境并驱动LED指示灯

[复制链接]
698|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tlled|  楼主 | 2020-4-16 23:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 tlled 于 2020-4-16 23:23 编辑

   
    一、搭建环境

    MSP432P401R支持 CCS、KEIL和IAR开发环境,这里我选择KEIL开发环境。

    1.1、首先下载MSP432P401R开发板的软件SDK包   SDK包链接
   

    1.2、安装SDK包后,就可以使用里面的工程文件了。里面有几种编译环境的工程,我这里选择KEIL工程文件。   
    1.3、打开工程文件后,编译程序,看是否有报错
   
    编译成功,没有报错,KEIL开发环境正常使用。

    二、GPIO 驱动LED灯

    2.1、LED硬件电路
     使用了GPIO的P1.0和P2.0,P2.1,P2.2
   

    2.2、程序
    根据SDK的工程文件,截取自己的项目工程文件,并编写驱动程序。
    主要的程序如下:

    2.2.1、led.c
#include "config.h"

void LED_Init(void)
{
        GPIO_setAsOutputPin( GPIO_PORT_P1, GPIO_PIN0 );                //P1.0
        GPIO_setAsOutputPin( GPIO_PORT_P2, GPIO_PIN0 );                //P2.0
        GPIO_setAsOutputPin( GPIO_PORT_P2, GPIO_PIN1 );                //P2.1
        GPIO_setAsOutputPin( GPIO_PORT_P2, GPIO_PIN2 );                //P2.2
        
        led2_r_off();
        led2_g_off();
        led2_b_off();
}

    2.2.2、led.h
#ifndef LED_H_
#define LED_H_


#define led1_off()         GPIO_setOutputLowOnPin(GPIO_PORT_P1, GPIO_PIN0)
#define led1_on()        GPIO_setOutputHighOnPin(GPIO_PORT_P1, GPIO_PIN0)
#define led1_tog()        GPIO_toggleOutputOnPin( GPIO_PORT_P1, GPIO_PIN0 )

#define led2_r_off()         GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN0)
#define led2_r_on()        GPIO_setOutputHighOnPin(GPIO_PORT_P2, GPIO_PIN0)
#define led2_r_tog()        GPIO_toggleOutputOnPin( GPIO_PORT_P2, GPIO_PIN0 )

#define led2_g_off()         GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN1)
#define led2_g_on()        GPIO_setOutputHighOnPin(GPIO_PORT_P2, GPIO_PIN1)
#define led2_g_tog()        GPIO_toggleOutputOnPin( GPIO_PORT_P2, GPIO_PIN1 )

#define led2_b_off()         GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN2)
#define led2_b_on()        GPIO_setOutputHighOnPin(GPIO_PORT_P2, GPIO_PIN2)
#define led2_b_tog()        GPIO_toggleOutputOnPin( GPIO_PORT_P2, GPIO_PIN2 )

void LED_Init(void);

#endif


    2.2.3、main.c

#include "config.h"
int main(void)
{
    uint32_t i;

    // Stop watchdog timer
    WDT_A_hold(WDT_A_BASE);
                LED_Init();
    while(1)
    {
                                led1_on();
                                for(i=100000; i>0; i--);
                                led1_off();
        for(i=100000; i>0; i--);
                                
                                led2_r_on();
                                for(i=100000; i>0; i--);
                                led2_r_off();
        for(i=100000; i>0; i--);
                        
                                led2_g_on();
                                for(i=100000; i>0; i--);
                                led2_g_off();
        for(i=100000; i>0; i--);
                        
                                led2_b_on();
                                for(i=100000; i>0; i--);
                                led2_b_off();
        for(i=100000; i>0; i--);
                                
    }
}

    2.3、工程文件    msp432p401r.rar (6.25 MB)

   三、程序执行结果

    led1和led2指示灯顺序点亮。

   



使用特权

评论回复

相关帖子

沙发
Cjy_JDxy| | 2020-4-17 22:01 | 只看该作者
我把库弄错了,我说怎么这么费劲。应该是P4,我搞成E4了。妈的

使用特权

评论回复
板凳
mcu430| | 2020-4-19 23:33 | 只看该作者
支持  好东西

使用特权

评论回复
地板
quickman| | 2020-4-20 22:40 | 只看该作者
        

使用特权

评论回复
5
jstgotodo| | 2020-4-20 22:40 | 只看该作者
给力的设计呢。     

使用特权

评论回复
6
iamaiqiyi| | 2020-4-20 22:40 | 只看该作者
支持 CCS、KEIL和IAR这么多   

使用特权

评论回复
7
dzfansman| | 2020-4-20 22:41 | 只看该作者
高性能 和低功耗     

使用特权

评论回复
8
sanxingnote7| | 2020-4-20 22:41 | 只看该作者
         

使用特权

评论回复
9
backlugin| | 2020-4-20 22:41 | 只看该作者
launchpad MSP432P401  

使用特权

评论回复
10
sdCAD| | 2020-4-20 22:41 | 只看该作者
MSP432是TI的MSP430家族新增加的32位产品系列  

使用特权

评论回复
11
fengm| | 2020-4-20 22:41 | 只看该作者
感谢楼主分享的资料。   

使用特权

评论回复
12
sanfuzi| | 2020-4-20 22:42 | 只看该作者
基于ARM Cortex-M4F内核的新型32位处理器系列。

使用特权

评论回复
13
10299823| | 2020-4-20 22:42 | 只看该作者
MSP432 系列 MCU 属于低功耗

使用特权

评论回复
14
sanxingnote7| | 2020-4-20 22:42 | 只看该作者
-MSP432英文手册有吗   

使用特权

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

本版积分规则

125

主题

689

帖子

6

粉丝