msp430 IO设置问题

2019-07-17 13:39发布


P1.7 P7.6 控制阀门开关P1.5公共端  输出高电平P1.4 P1.6 设置为输入模式,检测到位开关开到位,P1.6 变成高电平 //   关到位P1.4变成高电平。任一个到位开关闭合状态,不能仿真~~连接不上程序如下:#include<msp430x41x2.h> typedef unsignedchar Uchar8;typedef  unsigned int Uint16;typedef  unsigned long Uint32;#define FMON_LOW     P7OUT &= (~BIT6) // FMON=0#defineFMON_HIGH    P7OUT |= BIT6 // FMON=1#defineFMOFF_LOW    P1OUT &= (~BIT7) //FMOFF=0#defineFMOFF_HIGH   P1OUT |= BIT7 // FMOFF=1#defineFMCOM_HIGH   P1OUT |= BIT5 //FMCOM=1void IO_Init(void);void main(void){   OSC_Init();  IO_Init();   FMCOM_HIGH;  while(1)    {     if(P1IN==0XB0)     {        FMON_HIGH;   进入到这里就出现错误。仿真器连不上了       FMOFF_LOW;        }       else {         FMON_LOW;  FMOFF_HIGH;      }     }}void IO_Init(void){ P7DIR |=0xFF;                             //  P7.6 输出模式P7OUT = 0x00;                                // All P7.xresetP1DIR |=0XAF;        // P1.7 P1.5输出模式P1.6 P1.4输入模式P1OUT =0x00;                                // All P7.x reset}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
kong86176
1楼-- · 2019-07-17 13:48
新手求助~~~
chuntian2016
2楼-- · 2019-07-17 16:02
这个IO口的设计是根据实际需要的
dirtwillfly
3楼-- · 2019-07-17 20:41
你用的哪个型号的msp430?这几个io默认的是io功能吗?
kong86176
4楼-- · 2019-07-17 21:47
用的 msp430f4152
dirtwillfly
5楼-- · 2019-07-18 03:27
能上传下完整的电路图吗?从这段代码看不出有什么问题
kong86176
6楼-- · 2019-07-18 07:02
感谢 dirtwillfly  的 回复,  问题解决了。
       FMON_HIGH;   进入到这里就出现错误。仿真器连不上了
       FMOFF_LOW;  
这两行换一下,就好了。
原因 我觉得 应该是, 我的电路是一个联动的,控制阀门开关的两个引脚不能同时为高电平,也就是说,P1.7和 P7.6 控制阀门开关,P1.7 高,P1.6低,,转换为P1.6 高,P1.7低,逻辑上没有问题,但是程序执行到P1.6 高时,P1.7 也是高,导致电源对地功耗大,编程器连不上了,所以先将P1.7 低,,再把P1.6置高,~~~搞了好几天,一直以为逻辑有问题,还是电路没看透啊~~

一周热门 更多>