STML151和HX711做电子秤出来的数据一直是0,求大佬帮忙看看。 void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOA_CLK_ENABLE(); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_SET); /*Configure GPIO pin : PA1 DT */ GPIO_InitStruct.Pin = GPIO_PIN_1; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /*Configure GPIO pin : PA2 SCK PA1 DT*/ GPIO_InitStruct.Pin = GPIO_PIN_2; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); } int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); t=0; while (1) { HAL_GPIO_WritePin(GPIOA, 1, GPIO_PIN_SET);//PA1 DT 1 HAL_GPIO_WritePin(GPIOA, 2, GPIO_PIN_RESET);//PA2 SCK 0 Count=0; while(HAL_GPIO_ReadPin(GPIOA, 1)); delay_us(1); for(i=0;i<24;i++) { HAL_GPIO_WritePin(GPIOA, 2, GPIO_PIN_SET);//PA2 SCK 1 Count=Count<<1; delay_us(1); HAL_GPIO_WritePin(GPIOA, 2, GPIO_PIN_RESET);//PA2 SCK 0 if(HAL_GPIO_ReadPin(GPIOA, 1)) Count++; delay_us(1); } HAL_GPIO_WritePin(GPIOA, 2, GPIO_PIN_SET);//PA2 SCK 1 delay_us(1); HAL_GPIO_WritePin(GPIOA, 2, GPIO_PIN_RESET);//PA2 SCK 0 delay_us(1); result[t]=Count; t++; } } |
评分
查看全部评分