打印

MSP430fr59系列库开发入门之一——GPIO操作

[复制链接]
1035|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wanyisq|  楼主 | 2015-10-29 20:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

最近由于工作关系使用msp430,由于之前从来没有用过,很多东西都不懂,我想不如写出来,大家一起看看,有什么不对的,一起探讨。使用库开发方式。废话不多说。

由于开发进度限制,选择库开发方式。msp430fr59系列提供了各个模块的库函数,并且有详细的注释说明用法和填入的参数。本系列由控制GPIO入手。

#include "driverlib.h"

void main(void)
{
    //Stop WDT
    WDT_A_hold(WDT_A_BASE);

    //PA.x output
    GPIO_setAsOutputPin(
        GPIO_PORT_PA,
        GPIO_PIN0 + GPIO_PIN1 + GPIO_PIN2 + GPIO_PIN3 +
        GPIO_PIN4 + GPIO_PIN5 + GPIO_PIN6 + GPIO_PIN7 +
        GPIO_PIN8 + GPIO_PIN9 + GPIO_PIN10 + GPIO_PIN11 +
        GPIO_PIN12 + GPIO_PIN13 + GPIO_PIN14 + GPIO_PIN15
        );

    //Set all PA pins HI
    GPIO_setOutputHighOnPin(

        GPIO_PORT_PA,
        GPIO_PIN0 + GPIO_PIN1 + GPIO_PIN2 + GPIO_PIN3 +
        GPIO_PIN4 + GPIO_PIN5 + GPIO_PIN6 + GPIO_PIN7 +
        GPIO_PIN8 + GPIO_PIN9 + GPIO_PIN10 + GPIO_PIN11 +
        GPIO_PIN12 + GPIO_PIN13 + GPIO_PIN14 + GPIO_PIN15
        );

    /*
     * Disable the GPIO power-on default high-impedance mode to activate
     * previously configured port settings
     */
    PMM_unlockLPM5();

}

这是TI提供的GPIO例程,其中PA=P1+P2;值得注意的是要开启PMM_unlockLPM5();因为fr系列是默认GPIO不开启的,在最初也是请教了论坛里的大神后才知道。




相关帖子

沙发
冰河w| | 2015-10-29 21:30 | 只看该作者
因为fr系列是默认GPIO不开启的

那IO的初始状态是什么呢

使用特权

评论回复
板凳
wanyisq|  楼主 | 2015-10-29 21:37 | 只看该作者
冰河w 发表于 2015-10-29 21:30
那IO的初始状态是什么呢

怪我没说清楚,初始状态为高阻状态

使用特权

评论回复
地板
huangcunxiake| | 2015-10-29 22:14 | 只看该作者
这个库跟MSP430i2xx的库一样

使用特权

评论回复
5
wanyisq|  楼主 | 2015-10-30 08:50 | 只看该作者
huangcunxiake 发表于 2015-10-29 22:14
这个库跟MSP430i2xx的库一样

差不多,不过还有以下区别。我慢慢学习,有心得写出来。也让大家看看哪里有错误

使用特权

评论回复
6
爽歪歪啦| | 2015-10-30 09:21 | 只看该作者
建议直接用msp ware!

使用特权

评论回复
7
dirtwillfly| | 2015-10-30 18:43 | 只看该作者
感谢分享

使用特权

评论回复
8
李香兰| | 2015-10-30 20:29 | 只看该作者
我也是以前没用过,当时用低功耗的时候才用的

使用特权

评论回复
9
haolaishi| | 2015-10-30 23:08 | 只看该作者
GPIO_PIN0 + GPIO_PIN1 + GPIO_PIN2 + GPIO_PIN3 +
        GPIO_PIN4 + GPIO_PIN5 + GPIO_PIN6 + GPIO_PIN7 +
        GPIO_PIN8 + GPIO_PIN9 + GPIO_PIN10 + GPIO_PIN11 +
        GPIO_PIN12 + GPIO_PIN13 + GPIO_PIN14 + GPIO_PIN15
以前一直见到的是|的写法,现在居然是+的写法

使用特权

评论回复
10
wanyisq|  楼主 | 2015-10-30 23:28 | 只看该作者
haolaishi 发表于 2015-10-30 23:08
GPIO_PIN0 + GPIO_PIN1 + GPIO_PIN2 + GPIO_PIN3 +
        GPIO_PIN4 + GPIO_PIN5 + GPIO_PIN6 + GPIO_PIN ...

是一样的

使用特权

评论回复
11
1988020566| | 2015-10-31 11:05 | 只看该作者
现在现成的库了吗

使用特权

评论回复
12
蔚蓝的海| | 2015-10-31 14:13 | 只看该作者
haolaishi 发表于 2015-10-30 23:08
GPIO_PIN0 + GPIO_PIN1 + GPIO_PIN2 + GPIO_PIN3 +
        GPIO_PIN4 + GPIO_PIN5 + GPIO_PIN6 + GPIO_PIN ...

在某些场合,两这是可以替代的。

使用特权

评论回复
13
wanyisq|  楼主 | 2015-10-31 23:19 | 只看该作者
1988020566 发表于 2015-10-31 11:05
现在现成的库了吗

是的,各个外设的库函数都有

使用特权

评论回复
14
1988020566| | 2015-11-23 21:58 | 只看该作者
wanyisq 发表于 2015-10-31 23:19
是的,各个外设的库函数都有

不错。

使用特权

评论回复
15
309030106| | 2015-11-24 19:29 | 只看该作者
msp ware好用吗,还没用过呢

使用特权

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

本版积分规则

个人签名:--By Dr. Heinz Doofenshmirtz

40

主题

180

帖子

2

粉丝