HAL库readpin的函数使用起来有以下总结:
当一个pin脚设置成OUTPUT的时候,那么使用HAL_GPIO_ReadPin()函数能不嫩读取出这个pin脚的值呢???
很多人都认为HAL_GPIO_ReadPin()只是用来读取配置为INPUT模式的pin脚的,其实它也可以读取配置为OUTPUT的pin脚状态;
但是,这里加个但是,当pin配置output时,想要读取pin的状态时,对于推挽PP和开漏OD模式是有区别的;
当配置为GPIO_MODE_OUTPUT_PP时,使用HAL_GPIO_ReadPin()可以正确读取出这个pin的状态值;
当配置为GPIO_MODE_OUTPUT_OD时,使用HAL_GPIO_ReadPin()是读取不到这个pin的状态值的,无论这个pin设置为SET还是reset,读取出来都是reset的状态;
所以在使用时要注意这一点。
下面附上HAL库里这个函数的源代码:
/**
* @brief Read the specified input port pin.
* @param GPIOx where x can be (A..H) to select the GPIO peripheral for STM32L4 family
* @param GPIO_Pin specifies the port bit to read.
* This parameter can be any combination of GPIO_Pin_x where x can be (0..15).
* @retval The input port pin value.
版权声明:本文为u012523921原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。