如何使用外部加速度计来检测其值并显示其模拟值本身,以便在stm32f429发现板上通过uart显示?
我尝试使用3个引脚作为我的gpio输入。坚持到那之后。
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_USART1_UART_Init();
GPIO_InitTypeDef GPIO_InitStruct;
__HAL_RCC_GPIOG_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_13 | GPIO_PIN_14;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
__HAL_RCC_GPIOA_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_2 | GPIO_PIN_4 | GPIO_PIN_6;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
while (1)
{
}
}
我将首先咨询adxl345 datasheet。值得注意的是,adxl345是一种通过I2C或SPI进行通信的设备。在您的代码中,您需要启用正确的外设并以这种方式与设备通信。你发布的代码没有这个,而只是它启用了几个GPIO引脚。为了做你想要的,你需要代码来做以下事情:
对于步骤1和4,有很多示例用于通过UART为该板初始化和写入数据。