GPIO 读状态改变IDR问题!!召唤香水.

[复制链接]
4679|3
 楼主| mzscg 发表于 2008-9-11 14:10 | 显示全部楼层 |阅读模式
 如下配置IO口,或者将输出配置为PP.

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15|GPIO_Pin_9|GPIO_Pin_8|GPIO_Pin_11|GPIO_Pin_10|GPIO_Pin_13|GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOE, &GPIO_InitStructure);

其中,以上配置的所有的GPIO口通过2.5K的上拉电阻上拉到5V.用IAR的view->register查看GPIOE值显示以上所胡脚为高电平.

但一读取GPIOE的状态:Value=(int)GPIOE->IDR;
或者读取输出寄存器:Value=GPIOE->ODR;

奇怪的事情发生,所有上拉的脚8--15全部拉低..

百思不得其解..读取状态也能影响电平??

 楼主| mzscg 发表于 2008-9-11 14:17 | 显示全部楼层

最近人MS少了些..

遇到这样的问题的兄弟过来吼一声啊.

 楼主| mzscg 发表于 2008-9-11 15:29 | 显示全部楼层

等了好长时间了.

香水兄弟,,看看吧.
浪淘沙 发表于 2008-9-11 21:41 | 显示全部楼层

IDR和ODR是不同的寄存器

配置为GPIO_Mode_Out_PP的管脚的状态受芯片控制,上拉应该不起作用。

但是你的连接有很大问题!! 配置为GPIO_Mode_Out_PP的管脚根本不能上拉到5V,更不能用这种强上拉,这样容易损坏芯片的输出电路!!

说说看,你为什么要这样非常规地连接。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

234

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部