你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

库函数与寄存器操作

[复制链接]
风铃草2 提问时间:2014-12-10 14:08 /
#define SDA_read      GPIOE->IDR  & GPIO_Pin_3 //GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)

我用库函数的GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)这个来读IO口,做了几天发现 居然有的时候会读不到。但是只要改成GPIOE->IDR  & GPIO_Pin_3
它就能正常读到了 。


调试进去一看
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
  uint8_t bitstatus = 0x00;

  /* Check the parameters */
  assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  assert_param(IS_GET_GPIO_PIN(GPIO_Pin));

  if ((GPIOx->IDR & GPIO_Pin) != (uint32_t)Bit_RESET)
  {
    bitstatus = (uint8_t)Bit_SET;
  }
  else
  {
    bitstatus = (uint8_t)Bit_RESET;
  }
  return bitstatus;
}
就没差别 ,可是死活读不到 只要一换成 GPIOE->IDR  & GPIO_Pin_3就成功读取了
<
收藏 评论28 发布时间:2014-12-10 14:08

举报

28个回答
风铃草2 回答时间:2014-12-10 14:12:22
   //I2C  SDA(PE3) SCL(PE2)
    GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_2 | GPIO_Pin_3;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//
    GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; //
    GPIO_InitStructure.GPIO_PuPd =  GPIO_PuPd_UP;  //
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;  /
                GPIO_Init(GPIOE, &GPIO_InitStructure);
风铃草2 回答时间:2014-12-10 14:12:38
上了配置
巅峰残狼 回答时间:2014-12-10 16:19:09
确实感觉莫名其妙的。。。帮顶
那片清茶 回答时间:2014-12-10 17:25:02
我记得IIC的引脚不能拿来直接用的,内部上拉是没用的,如果要用,还是外部 上拉
回答时间:2014-12-11 10:14:48
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;  

只设置这2个试试。
风铃草2 回答时间:2014-12-11 13:59:37
那片清茶 发表于 2014-12-10 17:25
我记得IIC的引脚不能拿来直接用的,内部上拉是没用的,如果要用,还是外部 上拉
...

哥,我要是没接上拉 ,我能读的到应答信号吗?我肯定是接了外部上拉的
风铃草2 回答时间:2014-12-11 14:02:39
安 发表于 2014-12-11 10:14
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;  ...

试过了,可能电池没电的时候,用库函数读不出来吧 用寄存器就可以
回答时间:2014-12-11 16:03:00
库也是读取的寄存器,理论是一样的。这样只能是仿真一下,看看他走到函数里面执行到哪儿跳出了。
风铃草2 回答时间:2014-12-11 17:27:58
安 发表于 2014-12-11 16:03
库也是读取的寄存器,理论是一样的。这样只能是仿真一下,看看他走到函数里面执行到哪儿跳出了。 ...

我死死用万用表量着它的 3.3V 它硬是读出为0 换了寄存器就读出为1  纠结的我。。。
123下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版