打印
[STM8]

STM8S207S8T6 PD6 端口不能置高问题

[复制链接]
1060|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
feihu8088|  楼主 | 2016-6-30 13:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助一下,PD6 端口 没有办法置高
//GPIO端口配置
void GPIO_Init(void)
{
    //PD7--SDA  PD6--SCK
    PD_DDR |= 0x40;
    PD_CR1 |= 0x40;
    PD_CR2 &= ~( 0x40);
}

void main (void)
{
  
    asm("sim");                //先关闭总中断
    GPIO_Init();
    asm("rim");                //打开总中断
            
    while(1)
    {
         //IWDG_KR = 0xAA;       //喂狗


      PD_ODR |= 0x40  ;   
      PD_ODR &= ~0x40;
        delay(20);
    }
}

单步跟踪 看到寄存器边了,但是 端口输出一直是低电平,有没有朋友遇到过这样的问题
沙发
gmgmgm| | 2016-6-30 13:46 | 只看该作者
//PD7--SDA  PD6--SCK  这两端口是标准的I2C端口,内部没有上拉需要外接上拉电阻,外面引脚接上拉电阻就可以置高电平了。不接上拉电阻就是开漏形式

使用特权

评论回复
板凳
flove00| | 2016-6-30 13:53 | 只看该作者
PD_ODR &= ~0x40;  你把它至低电平 ,它怎么输出高电平??

使用特权

评论回复
地板
dzguang| | 2016-6-30 15:04 | 只看该作者
二楼说的相当明白了,你开漏的口,怎么可能输出高呢?它输出的是高阻,需要用一个上拉的~

使用特权

评论回复
5
quray1985| | 2016-6-30 16:25 | 只看该作者
gmgmgm 发表于 2016-6-30 13:46
//PD7--SDA  PD6--SCK  这两端口是标准的I2C端口,内部没有上拉需要外接上拉电阻,外面引脚接上拉电阻就可 ...

原来是这样,不是所有的IO口用法都一样啊

使用特权

评论回复
6
feihu8088|  楼主 | 2016-7-2 09:13 | 只看该作者
谢谢,各位热心的解答,
首先我要说明的是,PD6 PD7 不是I2C接口,是我模拟I2C用的,可能大家误解了
现在测试情况是PD6 无法拉高 是不是与PD6的复用引脚UART3 有关?我关掉UART3 还是无法拉高,PD7是可以置高,置低的.

使用特权

评论回复
7
dentsgot| | 2016-7-3 21:18 | 只看该作者
不知道有没有试过,加了外部的上拉电阻之后能不能置高呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝