wjackson 发表于 2011-11-22 19:58:53

求解msp430IO口配置问题,值得你一看!

如图:简单说说就是要求初始化,复位时,p1.1,p1.2为低电平,输入方向要读取p1IN的值。因为开关断开时,p1.1,p1.2是高电平,闭合是低电平。问题是如果复位p1.1,p1.2是高电平的话,开关断开时,读取p1IN的值,p1.1,p1.2是低电平,这样就影响判断了,所以,请教下,怎么配置IO的输入方向,而且用万用表测出端口是低电平,
我现在写的这样的:            P1SEL =0X00;
                               P1DIR =0X00;
                               P1IE =0X00;(不希望用中断,查询的方式)
查询判断的就是 Sw_state1=P1IN & 0x06;
                         if(Sw_state1==0x04)               if(Sw_state1==0x02)
                        {                                             {
                        开关P1.1闭合执行程序段                开关p1.2闭合执行程序段
                           }                                           }
这是一般的电机量程设置设计方法,我现在也可以用,没什么问题,就是想问问,初始化为什么有的IO是低电平,有的是高电平?我是当然选取的低电平的IO(p1.1,p1.2),因为我之前弄的,IO高低电平好像初始化是有时候不同的,生怕哪天变化了,就崩溃了。是不是我的配置有问题?应该怎么配置?


求解啊!
http://cache.amobbs.com/bbs_upload782111/files_48/ourdev_698046YZ956J.png
(原文件名:pp.png)

wjackson 发表于 2011-11-22 20:01:45

回复【楼主位】wjackson
-----------------------------------------------------------------------

用的是F149的片子。

lcofjp 发表于 2011-11-22 22:37:57

149的输入是不带上下拉的,所以引脚的状态是不确定的,没有高低电平,是悬空的。
复位后所有IO引脚默认为输入状态,你的初始化值就是复位后默认的值。
还有你的问题描述的不是很清楚
以上是个人观点。

wjackson 发表于 2011-11-23 09:17:23

回复【2楼】lcofjp C语言砖家
-----------------------------------------------------------------------

呵呵,可能自己说的不好了,我的意思就是复位后p1.1,p1.2就是低电平就好,是输入方向。按上面配置
                              P1SEL =0X00;
                              P1DIR =0X00;
                              P1IE =0X00;
复位后p1脚应该都是低电平吧?可我用万用表测出有的是高电平,有的是低电平。不知道每次复位是不是一样?如果一样,我现在做的就没问题,我就是怕哪天复位后不一样,就才惨了,所以,我想问问,我上面的配置对不对啊?

wjackson 发表于 2011-11-24 12:09:51

回复【楼主位】wjackson
------------------------------------------------------------------
还是没理解啊,今天在试试看看

rengo 发表于 2011-11-24 13:06:49

lz,您的表达太乱了,看电路没啥问题
如果你只想取某个脚状态,最好单取
if(P1IN & BIT1 )               if(P1IN & BIT2)
{                           {
   开关P1.1闭合执行程序段      开关p1.2闭合执行程序段
}                            }

wangyehuiwang 发表于 2011-11-25 14:03:57

我怎么觉得这个电路就这样设置就可以呀

wjackson 发表于 2011-11-25 17:02:17

回复【5楼】rengo
-----------------------------------------------------------------------

你这个也对啊,我前面就是设置一个变量,我问的是,P1脚的初始化配置对不对,前面的配置感觉不对,所以问问的啊

wjackson 发表于 2011-11-25 17:07:01

回复【6楼】wangyehuiwang
-----------------------------------------------------------------------

恩,这样配置是可以的,不过自己调试的时候倒是让人产生幻觉,当P1DIR=0x00时,P1OUT怎么设置也应该对p1脚电平没影响吧,但是调试的时候就不是的,后来自己在单独拿块板子试了下,和自己想的一样,所以很困惑啊。前面我那样设置,想要的就是:1,初始化是输入方向;2,电平为低。就好了

jiangjunzhiku 发表于 2011-12-1 20:22:35

同意楼上观点

luckly2008can 发表于 2014-2-17 23:32:24

遇到类似问题
页: [1]
查看完整版本: 求解msp430IO口配置问题,值得你一看!