疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇)

(九) IO口的介绍

MSP430G2553 共提供了16个IO口,P1.0-P1.7;P2.0-P2.7,即可通用IO口也可以时复用功能。

各引脚具体功能:

引脚 引脚说明
名称 DW,PW,DGV引脚号 RGE引脚号 I/O
P1.0/TACLK 13 13 I/O 通用数字I/O口定时器A时钟信号TACLK输入
P1.1/TA0 14 14 I/O 通用数字I/O口定时器A捕获方式CCI0A输入;比较方式OUT0输出/BSL发射端
P1.2/TA1 15 15 I/O 通用数字 1/O 口/定时器 A 捕获方式: CCI1A输入:比较方式:OUT1输出
P1.3/TA2 16 16 I/O 通用数字vO口/定时器 A 捕获方式:CCI2A输入:比较方式:OUT2 输出
P1.4/SMCLK/TCK 17 17 I/O 通用数字I/O口/SMCLK 信号输出/在芯片编程和测试时作测试时钟输入端
P1.5/TA0/TMS 18 18 I/O 通用数字I/O口/定时器A比较方式OUT0输出/测试模式选择,在芯片编程和测试时作输入端
P1.6/TA1/TDI/TCLK 19 20 I/O 通用数字I/O口/定时器A 比较方式 OUT1 输出/在芯片编程和测试时作数据和时钟输入端
P1.7/TA2/TDO/TDI 20 21 I/O 通用数字I/O口/定时器A 比较方式 OUT2 输出/在芯片编程和测试时作数据和时钟输入端
P2.0/ACLK/CA2 8 6 I/O 通用数字 I/O 口/ACLK 输出端/比较器 A+ CA2 输入
P2.1/INCLK/CA3 9 7 I/O 通用数字 V/O L1/定时器 A INCLK 时钟输入/比较器A+CA3输入
P2.2/CAOUT/CA0/CA4 10 8 I/O 通用数字 I/O 口/定时器 A 捕获方式 CCI0B 输入/比较器 A+ 输出/比较器 A+ CA4 输入/BSL 接收端
P2.3/CA0/CA1 11 10 I/O 通用数字 I/O 口/定时器 A 比较方式:OUT1 输出/比较器A+CA0输入
P2.4/CA1/CA2 12 11 I/O 通用数字 I/O 口/定时器 A 比较方式:OUT2输出/比较器A+CA1输入
P2.5/CA5 3 24 I/O 通用数字 I/O 口/比较器 A+ CA5 输入
XIN/P2.6/CA6 6 4 I/O 晶体振荡器输入端/通用数字I/O口/比较器 A+CA6输入
XOUT/P2.7/CA7 5 3 I/O 晶体振荡器输入端/通用数字I/O口/比较器 A+CA7输入
RST/NMI 7 I 复位或非屏蔽中断输入
TEST 1 22 I JTAG 测试模式选择: 器件的安全熔丝连接在该
引脚上
VCC 2 23 电源正
VSS 4 2 电源地
QEN Pad 封装铺垫 建议将其连接到VSS
  • IO口寄存器:方向选择寄存器PxDIR,输出寄存器PxOUT,输入寄存器PxIN,IO口内部上拉或下拉电阻使能寄存器PxREN,IO口功能选择寄存器PxSEL和PxSEL2,IO口中断能使寄存器PxIE,中断沿选择寄存器PxIES,IO口中断标志寄存器PxIFG。
  • PxDIR寄存器用于设置每一位的IO口方向:0=输入1=输出
  • PxDIR寄存器在复位的过程中会被清零,没有被设置的IO口方向均为输入状态。

注意,将未用的IO口置为输出可减小电流

  • 对于所有已经设成输出的IO口,可通过PxOUT寄存器设置其输出电平;
  • 对于所有已经设成输入的IO口,可通过PxINT寄存器读回其输入电平;

PxREN寄存器用于设置是否使用上拉电阻,1为使能,此时PxOUT联合设置是上拉还是下拉,1为上拉,0为下拉。PxSEL寄存器用于设置通用IO口或是复用功能,0=普通IO口,1=第二功能;并与PxSEL2一起对第二功能进行选择设置。

IO口中断
  • IO口中断使能寄存器PxIE,中断沿选择寄存器PxIES,IO口中断标志寄存器PxIFG。

  • P1口、P2口总共16个IO口均能引发中断。

  • PxIE用于设置每一位IO口的中断允许:0=不允许1=允许

  • PxIES用于选择每一个IO口的中断触发沿:0=上升沿1=下降沿

  • 在使用IO口中断之前,需要先将IO口设置为输入状态,并允许该位IO中断,再通过PxIES寄存器选择上升沿触发还是下降沿触发。

  • PxlFG是IO口中断标志寄存器:0=中断标志不成立,1=中断条件曾经成立

  • 无论中断是否被允许,也无论是否可以执行中断服务程序,只要对应IO口满足中断条件,PxlFG中相应位都会立即置1并保持,只能通过软件人工清除。

  • 在MSP430系列单片机中,P1口和P2口的8个中断各共用了一个中断入口,因此该寄存器另一重要作用在于判断是哪一位IO产生了中断。

注意,在退出中断前,一定要人工清除中断标志,否则该中断会不停被执行。
类似的原理,即使IO口没有出现中断条件,人工向PxIFG寄存器写“1”,也会引发中断。
更改中断沿选择寄存器也相当于跳变,也会引发中断。所以,更改PxIES寄存器应该在关闭中断后进行,并且在打开后及时清除中断标识位。

例:LED闪烁

#include"msp430g2553.h"void main()
{WDTCTL=WDTPW+WDTHOLD;BCSCTL2=DIVM_2+SELM_1;DCOCTL=CALDCO_16MHZ;BCSCTCL1|=CALBC1_16MHZ;P1DIR|=BIT6;P1SEL=0x00;P1OUT=0x00;while(1){ P1OUT|=BIT6;_delay_cycles(10000);P1OUT&=~BIT6;_delay_cycles(10000);}
}

疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇)----(九)IO口的介绍相关推荐

  1. java玩转区块链-基础篇-账户

    java玩转区块链-基础篇--账户 java环境配置 基础概念 账户 maven包引用 创建账户代码 代码解释 (1) (2) (3) (4) 可以不让搞,但是不允许你不会 java环境配置 jdk版 ...

  2. java玩转区块链-基础篇-solidity语法-基础类型

    java玩转区块链-基础篇-solidity语法-基础类型 java环境配置 代码准备 maven 完整solidity 执行步骤 基础类型 布尔类型 类型标识: 字面常量值: 运算符: 短路规则: ...

  3. 独立艺术家大谷spizher带你玩转PaddleGAN

    一个曾被 "卷积网络之父"Yann LeCun(杨立昆)誉为「过去十年计算机科学领域最有趣的想法之一」,是近年来火遍全网,AI 研究者最为关注的深度学习算法方向之一,GAN--生成 ...

  4. 一篇文章带你玩转C语言基础语法5:条件判断 if else 语句与分支 。(千字总结)

    我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主 欢迎各位

  5. 一篇文章带你玩转C语言基础语法。2:数据类型。千字总结

    我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主 欢迎各位

  6. 玩转RAW格——基础篇

    一.什么是RAW文件? RAW文件主要是一种记录了数码相机传感器的原始信息,同时伴随着一些由相机所产生的一些元数据(metadata,诸如IS0的设置.快门速度.光圈值.白平衡等)的文件.不同的相机制 ...

  7. 【博学谷学习记录】超强总结,用心分享丨大数据超神之路(五):Hadooop基础篇

    文章目录 前言 1.编译源码 1.1 官网下载编译后的包 1.2 手动编译 1.2.1 安装编译相关的依赖 1.2.2 手动安装cmake3.13.5 1.2.3 手动安装snappy1.1.3 1. ...

  8. C#插件开发之带控件的插件开发(基础篇)

    1.实现功能介绍 插件中存在控件,运行程序时将控件添加到主程序的容器panel中,可执行插件中设定的控件功能. 2.文件架构 3.创建插件接口 namespace PluginFramework {p ...

  9. 玩转 Postman:基础篇

    极尽详细的 Postman 入门教材,从接口基础和 HTTP 协议讲起,读者可以从零开始,了解到 Postman 作为一个专业接口测试工具的主要使用方法,并结合 Github API,实战练习 Pos ...

最新文章

  1. jquery的实时触发事件(textarea实时获取中文个数)
  2. 项目整体管理:指导和管理项目工作
  3. 【数据结构与算法】之深入解析“不同路径III”的求解思路与算法示例
  4. WSDM 2022 | 点击率模型特征交叉方向的发展及CAN模型介绍
  5. 目前市场上主流服务器厂商,目前市场上流行的串口服务器有哪些功能
  6. 获取linux服务器基本信息脚本
  7. 一步一步学ROP之linux_x64篇
  8. socket通信原理简介
  9. 最大公约数之辗转相除法
  10. 成功转型机器学习,多年的经验分享
  11. python中列表是什么类型_Python数据类型之列表
  12. HTML元素分类【三种类型】
  13. linux系统日志读取,linux系统日志
  14. 评委对计算机知识竞赛的提问,评委评分知识竞赛答题软件
  15. win8.1搭建php环境,WIN8.1下搭建PHP5.6环境
  16. matlab 标准色度图,采用Matlab图像进行有色溶液样液浓度测试
  17. 传统项目管理 VS 敏捷项目管理
  18. 新面貌,新征程—读《新程序员》有感
  19. 美团大众点评合并:背后技术力量的对比回顾【转载+整理】
  20. python locust在windows下的安装

热门文章

  1. 详解,python求矩阵的秩,你肯定能看懂
  2. 准备好了吗?蒋宝藏带你详解判别分析!
  3. 【教程】Matrikon OPC使用教程连载(二)
  4. CSS 图片垂直居中的解决办法
  5. 华展云-让展览更高效 2017年第十九届中国国际医疗器械及口腔器材(江苏)博览会 2017年第十届中国检验医学及输血用品(江苏)博览会会刊(参展商名录)
  6. python 使用excel画图
  7. Android 根目录和sdcard卡路径分析
  8. 中国电子签名发展研究报告 (2006-2007年)
  9. 组装电脑配置推荐2022
  10. 2个字节秒解智能吓数1668加密狗