共2条
1/1 1 跳转至页
430F149 请教430F149 I/O 操作的一些问题

问
请教以下问题:
1.74HC244的输出和430F149的PORT5连接时,当OE端有效,且244的输出为LOW时,为什么430的I/O电平不是高也不是低;是不是一定要加上上拉电阻;
2.用PORT3的两个I/O模拟I2C功能时,出现下面的问题:
SCL = LOW;
delay();
;P3DIR |= 0x01;
SDA = LOW; //P3OUT &= 0xfe;
SCL = HIGH;
delay();
SCL = LOW;
delay();
;P3DIR &= 0xfe;
temp = P3IN;
;P3DIR |= 0x01;
为什么在改变I/O的方向时,430读入的数据和开始输出的数据不一致.即当P3.0输出为LOW,然后改变P3.0为输入,但读入P3.0的电平是高电平.在进行送完一字节然后进行响应时,SDA永远都不会变成LOW. 答 1: 1、你好像没有说清楚,既然244的输出是low,而它又是和P5连在一起的,P5测得是不高不低,那不就是说明244到P5之间的电路开路了?
2、SCL=LOW;这样的语句不知道你在程序前面是怎么定义的,居然也能编译通过,真是奇怪了。 答 2: #define LOW 0
就OK了。。。。。。。。。。。。。。。
1.74HC244的输出和430F149的PORT5连接时,当OE端有效,且244的输出为LOW时,为什么430的I/O电平不是高也不是低;是不是一定要加上上拉电阻;
2.用PORT3的两个I/O模拟I2C功能时,出现下面的问题:
SCL = LOW;
delay();
;P3DIR |= 0x01;
SDA = LOW; //P3OUT &= 0xfe;
SCL = HIGH;
delay();
SCL = LOW;
delay();
;P3DIR &= 0xfe;
temp = P3IN;
;P3DIR |= 0x01;
为什么在改变I/O的方向时,430读入的数据和开始输出的数据不一致.即当P3.0输出为LOW,然后改变P3.0为输入,但读入P3.0的电平是高电平.在进行送完一字节然后进行响应时,SDA永远都不会变成LOW. 答 1: 1、你好像没有说清楚,既然244的输出是low,而它又是和P5连在一起的,P5测得是不高不低,那不就是说明244到P5之间的电路开路了?
2、SCL=LOW;这样的语句不知道你在程序前面是怎么定义的,居然也能编译通过,真是奇怪了。 答 2: #define LOW 0
就OK了。。。。。。。。。。。。。。。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
“我踩过的那些坑”主题活动——第002期 | |
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |