欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 22562|回復: 7
打印 上一主題 下一主題
收起左側

使用STM32H7的HAL庫函數HAL_GPIO_ReadPin為什么可以讀取輸出腳的電平狀態?

[復制鏈接]
跳轉到指定樓層
樓主
ID:484801 發表于 2019-7-3 10:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在庫函數開發指南里說,該函數是用來讀取IO腳的輸入數據,也就是輸入腳的高低電平,但是我用它來讀取輸出腳電平的時候,發現也能讀取成功。這是為什么啊?每次我用HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5, GPIO_PIN_RESET)  ,這個庫函數改變IO腳電平之后,再用HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 來讀取,都可以成功讀取出來,不是只能讀輸入腳嗎?用來讀輸出為什么也可以?

QQ圖片20190703104159.png (10.68 KB, 下載次數: 95)

初始化的IO配置

初始化的IO配置

QQ圖片20190703104246.png (130.98 KB, 下載次數: 90)

HAL的函數使用說明

HAL的函數使用說明
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:282095 發表于 2019-7-3 11:46 | 只看該作者
GPIO調用函數
回復

使用道具 舉報

板凳
ID:388197 發表于 2019-7-4 13:09 | 只看該作者
HAL庫沒用過,這個函數可能是整合了3.5庫中GPIO_ReadInputDataBitT和GPIO_ReadOutputDataBit, 前者是讀相應管腳所對應的位輸入寄存器狀態后者則是讀輸出的.因為沒用過HAL庫,不敢妄下結論,你可以把相應函數的代碼打開讀讀.
回復

使用道具 舉報

地板
ID:484801 發表于 2019-7-11 17:18 | 只看該作者
我打開來看了,這個庫函數是讀取輸入腳寄存器的值。
函數原型是這個。
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
  GPIO_PinState bitstatus;

  /* Check the parameters */
  assert_param(IS_GPIO_PIN(GPIO_Pin));

  if((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET)
  {
    bitstatus = GPIO_PIN_SET;
  }
  else
  {
    bitstatus = GPIO_PIN_RESET;
  }
  return bitstatus;
}
IDR寄存器按照HAL庫手冊說是輸入數據
回復

使用道具 舉報

5#
ID:484801 發表于 2019-7-11 17:22 | 只看該作者
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
  GPIO_PinState bitstatus;

  /* Check the parameters */
  assert_param(IS_GPIO_PIN(GPIO_Pin));

  if((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET)
  {
    bitstatus = GPIO_PIN_SET;
  }
  else
  {
    bitstatus = GPIO_PIN_RESET;
  }
  return bitstatus;
}
這個是庫函數的原型。
讀取的是IDR寄存器,按照HAL庫手冊說,這個寄存器是輸入數據。而我所改變的輸出腳,并且是推挽輸出。
回復

使用道具 舉報

6#
無效樓層,該帖已經被刪除
7#
無效樓層,該帖已經被刪除
8#
ID:700794 發表于 2020-3-3 16:39 | 只看該作者
親愛的大大,
HAL庫手冊 中文版 能不能發一份給我 謝謝
回復

使用道具 舉報

9#
無效樓層,該帖已經被刪除
10#
ID:687694 發表于 2020-3-4 16:39 | 只看該作者
在GPIO輸出配置一節中有

● 在開漏模式時,對輸入數據寄存器的讀訪問可得到 I/O 狀態
● 在推挽式模式時,對輸出數據寄存器的讀訪問得到最后一次寫的值。
回復

使用道具 舉報

11#
ID:980546 發表于 2021-11-13 10:36 | 只看該作者
求樓主大大的hal庫函數開發指南
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表