如何在stm32f429发现板上使用外部加速度计。我想通过uart显示模拟值

时间:2017-09-20 09:43:10

标签: keil stm32f4discovery

如何使用外部加速度计检测其值并显示其模拟值本身,以便在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)
 {  

 }
}                       

1 个答案:

答案 0 :(得分:0)

我将从咨询adxl345 datasheet开始。值得注意的是,adxl345是可通过I2C或SPI进行通信的设备。在代码中,您将需要启用正确的外围设备并以这种方式与设备通信。您发布的代码没有执行任何操作,而是仅启用了几个GPIO引脚。为了执行您要的操作,您将需要执行以下操作的代码:

  1. 初始化并启用UART接口。
  2. Initialize and enable the I2C (or SPI) interface.
  3. 通过I2C(或SPI)接口从设备捕获数据。
  4. 通过UART写入捕获的数据。

对于第1步和第4步,有很多示例可以通过此板的UART初始化和写入数据。