MSP-EXP430F5529LP_GPIO

        为了能让学习更有动力并且坚持下去,突然想到可以用博客的形式来记录自己的学习历程,一方面是基于上述原因并且可以留下笔记来方便日后查看,另一方面感觉写出来一些东西可以让学习更加具有逻辑性,今天就让我们点亮EXP430的第一个小灯!

一、环境搭建

1.1 软件下载 

      本人使用CCS作为开发工具,当然使用IAR也可以。如何安装可以参考软件小口袋公众号。

1.2 环境配置(创建新工程)

    (1)首先打开CCSv5并确定工作区间,然后选择“File→New→CCS Project”命令,弹出如图1.2.1所示的对话框。

    (2)在“Project name”中输入新建工程的名称,在此输入gpio

    (3)在“Output type”中有两个选项:ExecutableStatic library。前者为构建一个完整的可执行程序,后者为静态库。在此保留Executable

    (4)在“Device”部分选择器件的型号:在“Family”中选择MSP430;“Variant”中选择MSP430x5xx Family,芯片选择MSP430F5529;“Connection”保持默认。

    (5)选择空工程,然后单击“Finish”按钮完成新工程的创建。

    (6)创建的工程将显示在“Project Explorer”对话框中,如图1.2.2所示。

图1.2.1 新建工程界面
图1.2.2 工程列表

 1.3 调试工程

    (1)首先将所需调试工程进行编译:选择“Project→Build Project”命令,编译目标工程。若编译没有错误产生,可以进行下载调试;如果程序有错误,将会在Problems窗口显示。读者要针对显示的错误修改程序,并重新编译,直到无错误提示。

    (2)单击绿色的Debug按钮,进行下载调试,得到如图1.3.2所示的界面。

图1.3.2​​​​​ 调试界面

       注意:每接触一个新的IDE,一定要学习一下基本的操作规则,因为以前用过很多种开发工具,就有点眼高手低,结果导致一个小小的地方卡了好久好久,所以推荐到b站上学习个半小时再上手,事半功倍!

二、GPIO模块

       每次拿到一个新的板子,总是迫不及待去点亮小灯,总感觉当小灯亮起来的时候这个板子就十拿九稳了哈哈哈哈哈。

 2.1 GPIO概述

       GPIO (General Purpose I/O),通用输入输出端口。

 2.1.1 应用

       GPIO基本都是用于芯片与片外器件或设备的交互。

  1. 检测数字输入,如键盘或开关信号;
  2. 驱动LED,蜂鸣器或LCD等其他指示器;
  3. 控制片外器件,较高级的使用可以用它们(通过程序)模拟很多器件的时序达到控制相应器件的目的,比如模拟SPI和模拟总线等。

 2.1.2 寄存器概述

        GPIO口都是按组规划,MSP430一般是8GPIO口一组。一般每个GPIO口都需要做两个寄存器位:一是选择口线方向(输入输出)二是需要一个数据位(用于设置输出数据和读取输入数据)。所以一组GPIO口至少会有两个寄存器GPIOxDIRGPIOxDATAPxOUTPxIN)。端口类型见表2.1.1。

表2.1.1 各类芯片端口类型

 PxDIR  输入/输出方向寄存器:    P1DIR = 0x01;  // 设置P1端口P1.0引脚为输出方向。

 PxIN  输入寄存器:这个寄存器是只读的,其中的每一位都反映了其对应的I/O引脚的输入信号(引脚配置为通用I/O)。

 PxOUT  输出寄存器:可读可写,将需要的值写入该寄存器,控制输出引脚的电平状态。

2.2 点亮小灯

    因为手头没有电阻和小灯,就点亮板子上的由端口P1.0控制的小灯。

#include <msp430.h>

int main(void)
{
  volatile unsigned int i;

  WDTCTL = WDTPW+WDTHOLD;                   // Stop WDT
  P1DIR |= BIT0;                            // P1.0 set as output

  while(1)                                  // continuous loop
  {
    P1OUT ^= BIT0;                          // XOR P1.0
    for(i=50000;i>0;i--);                   // Delay
  }
}

     下一篇将进阶使用中断来控制小灯。

     注意:F5529和之前学的板子有一点区别,这块板子每个端口是以P1.1、P1.2这样的形式存在,不像之前学的是以P1、P2或者PTA1、PTB1这样。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值