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

[复制链接]
1480|14
 楼主| wanyisq 发表于 2015-10-29 20:55 | 显示全部楼层 |阅读模式

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

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

  1. #include "driverlib.h"

  2. void main(void)
  3. {
  4.     //Stop WDT
  5.     WDT_A_hold(WDT_A_BASE);

  6.     //PA.x output
  7.     GPIO_setAsOutputPin(
  8.         GPIO_PORT_PA,
  9.         GPIO_PIN0 + GPIO_PIN1 + GPIO_PIN2 + GPIO_PIN3 +
  10.         GPIO_PIN4 + GPIO_PIN5 + GPIO_PIN6 + GPIO_PIN7 +
  11.         GPIO_PIN8 + GPIO_PIN9 + GPIO_PIN10 + GPIO_PIN11 +
  12.         GPIO_PIN12 + GPIO_PIN13 + GPIO_PIN14 + GPIO_PIN15
  13.         );

  14.     //Set all PA pins HI
  15.     GPIO_setOutputHighOnPin(

  16.         GPIO_PORT_PA,
  17.         GPIO_PIN0 + GPIO_PIN1 + GPIO_PIN2 + GPIO_PIN3 +
  18.         GPIO_PIN4 + GPIO_PIN5 + GPIO_PIN6 + GPIO_PIN7 +
  19.         GPIO_PIN8 + GPIO_PIN9 + GPIO_PIN10 + GPIO_PIN11 +
  20.         GPIO_PIN12 + GPIO_PIN13 + GPIO_PIN14 + GPIO_PIN15
  21.         );

  22.     /*
  23.      * Disable the GPIO power-on default high-impedance mode to activate
  24.      * previously configured port settings
  25.      */
  26.     PMM_unlockLPM5();

  27. }

这是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的库一样
 楼主| wanyisq 发表于 2015-10-30 08:50 | 显示全部楼层
huangcunxiake 发表于 2015-10-29 22:14
这个库跟MSP430i2xx的库一样

差不多,不过还有以下区别。我慢慢学习,有心得写出来。也让大家看看哪里有错误
爽歪歪啦 发表于 2015-10-30 09:21 | 显示全部楼层
建议直接用msp ware!
dirtwillfly 发表于 2015-10-30 18:43 来自手机 | 显示全部楼层
感谢分享
李香兰 发表于 2015-10-30 20:29 | 显示全部楼层
我也是以前没用过,当时用低功耗的时候才用的
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
以前一直见到的是|的写法,现在居然是+的写法
 楼主| 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 ...

是一样的
1988020566 发表于 2015-10-31 11:05 | 显示全部楼层
现在现成的库了吗
蔚蓝的海 发表于 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 ...

在某些场合,两这是可以替代的。
 楼主| wanyisq 发表于 2015-10-31 23:19 | 显示全部楼层
1988020566 发表于 2015-10-31 11:05
现在现成的库了吗

是的,各个外设的库函数都有
1988020566 发表于 2015-11-23 21:58 | 显示全部楼层
wanyisq 发表于 2015-10-31 23:19
是的,各个外设的库函数都有

不错。
309030106 发表于 2015-11-24 19:29 | 显示全部楼层
msp ware好用吗,还没用过呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

40

主题

180

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部