请问STM32F030F4如何读取PA口的值

2019-07-14 14:35发布

各位好!!
这样读取PA口的值是不是有问题?
void ACC_DET_SWITCH ()
{
        //static uint32_t ACC_DET_COUNT = 0;
        //static uint32_t LOCK_CLOSE_DET_Count = 0;
        static uint32_t ReadGPIO_PA_All = 0;
        ReadGPIO_PA_All = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_All);
        
        switch(ReadGPIO_PA_All)
        {
                case 0x603D:
                                        HAL_Delay(50);
                                        MIRROR_OPEN ;
                                        HAL_Delay(4000);
                                        MIRROR_OPEN_STOP;
                        break;
               
               
        }



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
zhouxk
1楼-- · 2019-07-14 22:18
 精彩回答 2  元偷偷看……
zhouxk
2楼-- · 2019-07-15 02:22
 精彩回答 2  元偷偷看……
IseekerTonyZhu
3楼-- · 2019-07-15 03:34
zhouxk 发表于 2019-1-15 19:41
本帖最后由 toofree 于 2018-1-21 15:07 编辑

STM32F030F4没用过。但STM32全系列有个特点,就是管脚模拟输入功能,要做数字输入用,得初始化成数字输入功能。

GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
  GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
  GPIO_InitStruct.Pull = GPIO_PULLUP;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
        我的IO口配置是这样的,有问题吗?
zhouxk
4楼-- · 2019-07-15 09:27
IseekerTonyZhu 发表于 2019-1-15 20:10
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
  GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
  GPIO_InitStruct.Pull = GPIO_PULLUP;

HAL不会用,一直用的是标准固件库。
所有外设初始化时必须开时钟,见下图第一个红 {MOD}框,对应IO的就是AHB、APB必须开。
对于输入,就是要置输入方向,要不要上下拉,第二个红 {MOD}框。






ctwewer
5楼-- · 2019-07-15 14:59
IseekerTonyZhu 发表于 2019-1-15 20:10
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
  GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
  GPIO_InitStruct.Pull = GPIO_PULLUP;

初始化少了一句:
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;

读某1位:
HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_7 );

读GPIO口:
ReadGPIO_PA_All=GPIOB->IDR;
IseekerTonyZhu
6楼-- · 2019-07-15 16:30
zhouxk 发表于 2019-1-15 19:41
本帖最后由 toofree 于 2018-1-21 15:07 编辑

STM32F030F4没用过。但STM32全系列有个特点,就是管脚模拟输入功能,要做数字输入用,得初始化成数字输入功能。

学习了!谢谢!

一周热门 更多>