HAL_GPIO_WritePin(GPIOB, 1, 0);
HAL_GPIO_WritePin(GPIOB, 4, 0);
HAL_GPIO_WritePin(GPIOB, 8, 0);
HAL_GPIO_WritePin(GPIOB, 32, 0);
GPIO_InitStruct.Pin = 1;
HAL_GPIO_WritePin(GPIOB, 16, num[b%10][i]);
上面的这些语句表示什么意思?有没有其他的写法?
HAL_GPIO_WritePin(GPIOB, 1, 0); //PB1赋值为低电平
HAL_GPIO_WritePin(GPIOB, 4, 0);//PB4赋值为低电平
HAL_GPIO_WritePin(GPIOB, 8, 0);//PB8赋值为低电平
HAL_GPIO_WritePin(GPIOB, 32, 0);//PB32赋值为低电平 STM32每组IO最多16个IO 并没有PB32
GPIO_InitStruct.Pin = 1; //GPIO_InitStruct结构体的pin成员赋值为1
HAL_GPIO_WritePin(GPIOB, 16, num[b%10][i]);////PB16赋值电平,电平状态由num[b%10][i]值决定,要么0要么1
引用: 宋元浩 发表于 2020-7-7 16:48 HAL_GPIO_WritePin(GPIOB, 1, 0); //PB1赋值为低电平 HAL_GPIO_WritePin(GPIOB, 4, 0);//PB4赋值为低电平 ...
总感觉你的回答怪怪的,那样写的代码keil5软件没有报错啊,都知道没有PB32,如你回答所述keil5应该会报错的
引用: 记忆的永恒 发表于 2020-7-7 17:19 总感觉你的回答怪怪的,那样写的代码keil5软件没有报错啊,都知道没有PB32,如你回答所述keil5应该会报错 ...
编译肯定不会报错啊,但是HAL接口里面都会有断言,assert_param 使能下USE_FULL_ASSERT,运行下你就知道错在哪了
HAL_GPIO_WritePin(GPIOB, 1, 0); //B口每1位写零
HAL_GPIO_WritePin(GPIOB, 4, 0);
HAL_GPIO_WritePin(GPIOB, 8, 0);
HAL_GPIO_WritePin(GPIOB, 32, 0);
GPIO_InitStruct.Pin = 1;//初始化管脚为第1脚
HAL_GPIO_WritePin(GPIOB, 16, num[b%10][i]); //向B口每16个比特写num中的数值