疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇)----(九)IO口的介绍
疯狂的大柚柚带你玩转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口的介绍相关推荐
- java玩转区块链-基础篇-账户
java玩转区块链-基础篇--账户 java环境配置 基础概念 账户 maven包引用 创建账户代码 代码解释 (1) (2) (3) (4) 可以不让搞,但是不允许你不会 java环境配置 jdk版 ...
- java玩转区块链-基础篇-solidity语法-基础类型
java玩转区块链-基础篇-solidity语法-基础类型 java环境配置 代码准备 maven 完整solidity 执行步骤 基础类型 布尔类型 类型标识: 字面常量值: 运算符: 短路规则: ...
- 独立艺术家大谷spizher带你玩转PaddleGAN
一个曾被 "卷积网络之父"Yann LeCun(杨立昆)誉为「过去十年计算机科学领域最有趣的想法之一」,是近年来火遍全网,AI 研究者最为关注的深度学习算法方向之一,GAN--生成 ...
- 一篇文章带你玩转C语言基础语法5:条件判断 if else 语句与分支 。(千字总结)
我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主 欢迎各位
- 一篇文章带你玩转C语言基础语法。2:数据类型。千字总结
我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主 欢迎各位
- 玩转RAW格——基础篇
一.什么是RAW文件? RAW文件主要是一种记录了数码相机传感器的原始信息,同时伴随着一些由相机所产生的一些元数据(metadata,诸如IS0的设置.快门速度.光圈值.白平衡等)的文件.不同的相机制 ...
- 【博学谷学习记录】超强总结,用心分享丨大数据超神之路(五):Hadooop基础篇
文章目录 前言 1.编译源码 1.1 官网下载编译后的包 1.2 手动编译 1.2.1 安装编译相关的依赖 1.2.2 手动安装cmake3.13.5 1.2.3 手动安装snappy1.1.3 1. ...
- C#插件开发之带控件的插件开发(基础篇)
1.实现功能介绍 插件中存在控件,运行程序时将控件添加到主程序的容器panel中,可执行插件中设定的控件功能. 2.文件架构 3.创建插件接口 namespace PluginFramework {p ...
- 玩转 Postman:基础篇
极尽详细的 Postman 入门教材,从接口基础和 HTTP 协议讲起,读者可以从零开始,了解到 Postman 作为一个专业接口测试工具的主要使用方法,并结合 Github API,实战练习 Pos ...
最新文章
- jquery的实时触发事件(textarea实时获取中文个数)
- 项目整体管理:指导和管理项目工作
- 【数据结构与算法】之深入解析“不同路径III”的求解思路与算法示例
- WSDM 2022 | 点击率模型特征交叉方向的发展及CAN模型介绍
- 目前市场上主流服务器厂商,目前市场上流行的串口服务器有哪些功能
- 获取linux服务器基本信息脚本
- 一步一步学ROP之linux_x64篇
- socket通信原理简介
- 最大公约数之辗转相除法
- 成功转型机器学习,多年的经验分享
- python中列表是什么类型_Python数据类型之列表
- HTML元素分类【三种类型】
- linux系统日志读取,linux系统日志
- 评委对计算机知识竞赛的提问,评委评分知识竞赛答题软件
- win8.1搭建php环境,WIN8.1下搭建PHP5.6环境
- matlab 标准色度图,采用Matlab图像进行有色溶液样液浓度测试
- 传统项目管理 VS 敏捷项目管理
- 新面貌,新征程—读《新程序员》有感
- 美团大众点评合并:背后技术力量的对比回顾【转载+整理】
- python locust在windows下的安装