2-MSP430按键输入检测
为了写一篇文章做铺垫--提醒着自己,,,,,,
P1.0的电平,随着P1.1引脚输入的电平变化而变化
#include "io430.h"
void delay(void)
{ unsigned char a,b,c;
for(c=;c>;c--)
for(b=;b>;b--)
for(a=;a>;a--);
}
void main( void )
{
WDTCTL = WDTPW + WDTHOLD;//看门狗默认是打开的,不使用就关了它
P1DIR = 0x01;//P1.0为输出模式
while()
{
P1OUT = 0x01;//P1.0输出高电平
delay();
P1OUT = 0x00;//P1.0输出低电平
delay();
}
}
在msp430的头文件中有这样的定义
/*-------------------------------------------------------------------------
* Standard Bits
*-------------------------------------------------------------------------*/ #define BIT0 (0x0001)
#define BIT1 (0x0002)
#define BIT2 (0x0004)
#define BIT3 (0x0008)
#define BIT4 (0x0010)
#define BIT5 (0x0020)
#define BIT6 (0x0040)
#define BIT7 (0x0080)
#define BIT8 (0x0100)
#define BIT9 (0x0200)
#define BITA (0x0400)
#define BITB (0x0800)
#define BITC (0x1000)
#define BITD (0x2000)
#define BITE (0x4000)
#define BITF (0x8000)
所以在设置P1.0为输出模式的时候可以
P1DIR = BIT0;
假如说 我们再配置P1.1为输入模式
如果直接 P1DIR = 0x0001;
如果以后再配置P1.2为输出模式
P1DIR = 0x0005;
这样做会非常的麻烦,因为要考虑以前的引脚配置
所以在配置某个引脚为输出引脚的时候
P1DIR = P1DIR | 0x0001; P1.0为输出
P1DIR = P1DIR | 0x0004; P1.2为输出
即
P1DIR = P1DIR | BIT0; P1.0为输出
P1DIR = P1DIR | BIT2; P1.2为输出
即
P1DIR |= BIT0; P1.0为输出
P1DIR |= BIT2; P1.2为输出
当配置为输入的时候P1.1
P1DIR &= 0xFFFD; P1.1为输入
即
P1DIR &= ~BIT1; P1.1为输入 P1DIR = P1DIR & (~BIT1);
看一下是不是互不影响
P1DIR |= BIT0; P1.0为输出 P1DIR = 0000 0000 0000 0000 0000 0000 0000 0001
P1DIR |= BIT2; P1.2为输出 P1DIR = 0000 0000 0000 0000 0000 0000 0000 0101
P1DIR &= ~BIT1; P1.1为输入 P1DIR = 0000 0000 0000 0000 0000 0000 0000 0101
现在看来 不配置方向好像初始化为输入模式
#include "io430.h" void main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD; P1DIR |= BIT0;//P1.0为输出 // P1DIR &= BIT1;//P1.1为输入------屏蔽 // P1DIR |= BIT6;//-----屏蔽
// P1OUT &= ~BIT6;//------屏蔽 P1DIR |= BIT7;//P1.7为输出-------测试不受影响
P1OUT |= BIT7;//P1.7输出高电平-------测试不受影响 while()
{
if(P1IN&BIT1)//#define BIT1 (0x0002)如果P1输入寄存器P1IN的第1位为1时
{
P1OUT |= BIT0;//P1.0输出高电平,,不影响其他引脚
}
if(!(P1IN&BIT1))//#define BIT1 (0x0002)如果P1输入寄存器P1IN的第1位为0时
{
P1OUT &= ~BIT0;//P1.0输出低电平,,不影响其他引脚
}
}
}


2-MSP430按键输入检测的更多相关文章
- STM32基本GPIO操作:按键输入(扫描+外部中断)
(涉及专有名词较多,难免解释不到位,若有错误还请指出,谢谢!) 硬件连接图如下: 一.扫描 思路是在main函数中通过死循环来扫描端口电平状态检测,以此判断按键是否按下.实现较为简单. 1.初始化(注 ...
- linux输入子系统(input subsystem)之按键输入和LED控制
实验现象:在控制台打印按键值,并且通过按键控制相应的LED亮灭. 1.代码 input_subsys_drv.c #include <linux/module.h> #include &l ...
- Python脚本控制的WebDriver 常用操作 <十二> send_keys模拟按键输入
下面将使用WebDriver中的send_keys来模拟键盘按键输入 测试用例场景 send_keys方法可以模拟一些组合键操作: ctrl+a ctrl+c ctrl+v 等. 另外有时候我们需要在 ...
- ADB——模拟手机按键输入
基本命令 adb 模拟按键输入的命令主要通过 input 进行 Usage: input [<source>] <command> [<arg>...] The s ...
- adb命令模拟按键输入keycode
adb命令模拟按键输入keycode 2017年05月18日 14:57:32 阅读数:1883 例子: //这条命令相当于按了设备的Backkey键 adb shell input keyevent ...
- linux下如何模拟按键输入和模拟鼠标【转】
转自:http://www.cnblogs.com/leaven/archive/2010/11/30/1891947.html 查看/dev/input/eventX是什么类型的事件, cat /p ...
- STM32:TIMER PWM 输入检测
PWM输入检测是输入捕获的一个特例,可以测量频率与占空比 与输入捕获不同的是PWM输入模式会将同一个输入信号(TI1或TI2)连接到两个捕获装置(IC1和IC2).这两个捕获装置一个捕获上升沿一个捕获 ...
- adb shell命令模拟按键/输入input使用keycode 列表详解
在adb shell里有一个非常使用的命令,模拟按键输入,这里首先不要理解为是键盘的模拟按键,下面命令的使用和键值做一个详解. input命令格式 adb shell input keyevent & ...
- Helium文档5-WebUI自动化-press模拟键盘按键输入技巧
前言 press方法是用来模拟键盘按键输入,可以组合使用,来模拟键盘输入,解决一些难定位的元素 入参介绍 以下是press源码中的函数介绍 def press(key): :入参 :param ke ...
随机推荐
- AEScrypto WEB and ANDROID (GITHUB)
https://github.com/evgenyneu/aes-crypto-android https://github.com/evgenyneu/aes-crypto-web https:// ...
- OutSystems学习一,安装以及入门
官方网站:http://www.outsystems.com/home/HomePage.aspx 安装完成后,在官网申请自己的管理云平台 启动客户端 详细参考帮助,跟着走就行
- 自定义安装php开发环境(1)--apache和php整合
第一步:安装apache 第二步:下载php核心包php-5.3.3-Win32-VC6-x86.zip.并放入开发环境文件夹C:/phpenv/文件夹下 第三步: 将apache 和php 整合 也 ...
- python工具的安装
下载: python安装包:python-2.7.3.msi pywin32-218.win32-py2.7.exe setuptools安装包:setuptools-0.6c11.win32-py2 ...
- MYSQL 查询出最大/最小值所在的记录
基本上都知道用MAX()/MIN()来求出所需的最大/最小值,但是只能查出那个最值的字段,而想查出整条记录或是对应的其他值却不行(SELECT MAX(grade), name FROM test;- ...
- 2.每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别。答题人:张立鹏
第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步.如果没有,打开Shell ...
- Python批量修改文件名
处理语料库时,有些文件名字很不规则,为了方便处理,同义按数字顺序修改名称,主要是用到os模块: import os def RenameFiles(srcdir): #将目录下所有的文件命名为数字开头 ...
- 6.1-6.5关于html
网页一般是两种元素组合起来的,一种是内联元素, 也就是行内显示,加上width和height没效果.一种是区块元素,可以加上对应的width和height, 通常使用在网页的布局,最常用的就是< ...
- delphi 生成网卡MAC地址
生成MAC地址的小工具: {*------------------------------------------------ 生成mac地址 @author @version 2015.7.2 20 ...
- OkHttp使用进阶 译自OkHttp Github官方教程
版权声明: 欢迎转载,但请保留文章原始出处 作者:GavinCT 出处:http://www.cnblogs.com/ct2011/p/3997368.html 没有使用过OkHttp的,可以先看Ok ...