找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 21621|回復: 7
收起左側

使用STM32H7的HAL庫函數(shù)HAL_GPIO_ReadPin為什么可以讀取輸出腳的電平狀態(tài)?

[復制鏈接]
ID:484801 發(fā)表于 2019-7-3 10:49 | 顯示全部樓層 |閱讀模式
在庫函數(shù)開發(fā)指南里說,該函數(shù)是用來讀取IO腳的輸入數(shù)據(jù),也就是輸入腳的高低電平,但是我用它來讀取輸出腳電平的時候,發(fā)現(xiàn)也能讀取成功。這是為什么。棵看挝矣肏AL_GPIO_WritePin(GPIOB,GPIO_PIN_5, GPIO_PIN_RESET)  ,這個庫函數(shù)改變IO腳電平之后,再用HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 來讀取,都可以成功讀取出來,不是只能讀輸入腳嗎?用來讀輸出為什么也可以?

初始化的IO配置

初始化的IO配置

HAL的函數(shù)使用說明

HAL的函數(shù)使用說明
回復

使用道具 舉報

ID:282095 發(fā)表于 2019-7-3 11:46 | 顯示全部樓層
GPIO調用函數(shù)
回復

使用道具 舉報

ID:388197 發(fā)表于 2019-7-4 13:09 | 顯示全部樓層
HAL庫沒用過,這個函數(shù)可能是整合了3.5庫中GPIO_ReadInputDataBitT和GPIO_ReadOutputDataBit, 前者是讀相應管腳所對應的位輸入寄存器狀態(tài)后者則是讀輸出的.因為沒用過HAL庫,不敢妄下結論,你可以把相應函數(shù)的代碼打開讀讀.
回復

使用道具 舉報

ID:484801 發(fā)表于 2019-7-11 17:18 | 顯示全部樓層
我打開來看了,這個庫函數(shù)是讀取輸入腳寄存器的值。
函數(shù)原型是這個。
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庫手冊說是輸入數(shù)據(jù)
回復

使用道具 舉報

ID:484801 發(fā)表于 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;
}
這個是庫函數(shù)的原型。
讀取的是IDR寄存器,按照HAL庫手冊說,這個寄存器是輸入數(shù)據(jù)。而我所改變的輸出腳,并且是推挽輸出。
回復

使用道具 舉報

ID:700794 發(fā)表于 2020-3-3 16:39 | 顯示全部樓層
親愛的大大,
HAL庫手冊 中文版 能不能發(fā)一份給我 謝謝
回復

使用道具 舉報

ID:687694 發(fā)表于 2020-3-4 16:39 | 顯示全部樓層
在GPIO輸出配置一節(jié)中有

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

使用道具 舉報

ID:980546 發(fā)表于 2021-11-13 10:36 | 顯示全部樓層
求樓主大大的hal庫函數(shù)開發(fā)指南
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

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