【STM32+HAL】GY25倾斜度角度模块

一、前言

有关MPU6050模块读取六轴传感器数值的详细内容,详见【STM32+HAL】姿态传感器陀螺仪MPU6050模块

二、所用工具

1、芯片:STM32F103C8T6

2、配置软件:CUBEMX

3、编译器:KEIL5

4、产品型号:GY-25

5、使用芯片:MPU6050

三、实现功能

串口方式读取并输出俯仰角,横滚角,航偏角数值

四、HAL库配置步骤

1、配置串口一、二,参数一致

2、中断配置

五、KEIL填写代码

1、初始化
#define RXBUFFERSIZE  256

uint8_t aRxBuffer;
int flag=0;
int16_t y=0,p=0,r=0;
double YAW=0,PITCH=0,ROLL=0;

uint8_t query1 = 0xA5;
uint8_t query2 = 0x51;
uint8_t query3 = 0x55;

	printf("Hello World!\r\n");
	HAL_Delay(500);

	HAL_UART_Transmit_IT(&huart2,&query1,1);
	HAL_UART_Transmit_IT(&huart2,&query3,1);
	HAL_UART_Receive_IT(&huart2, (uint8_t *)&aRxBuffer, 1);
2、串口回调函数
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
    UNUSED(huart);
	if(huart==&huart2){
		static uint8_t k=0,rebuf[8]={0};
		HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);

		rebuf[k++] = aRxBuffer;				//读取接收到的数据
		if(!(rebuf[0]==0xAA))				//如果帧头错误,清缓存
		{
			k=0;
			rebuf[0]=0;
		}
		if(k==8)							//数据接收完毕
		{
			if(rebuf[7]==0x55)				//判断帧尾,正确则解析姿态角
			{
				 y=(rebuf[1]<<8|rebuf[2]);	//y,p,r为真实值的100倍
				 p=(rebuf[3]<<8|rebuf[4]);
				 r=(rebuf[5]<<8|rebuf[6]);
				 flag=1;
			}
			k=0;//清缓存
		}
		
	HAL_UART_Receive_IT(&huart2, (uint8_t *)&aRxBuffer, 1);
	}
}

3、main.c
  /* USER CODE BEGIN WHILE */
  while (1)
  {
	  if(flag==0){
		HAL_UART_Transmit_IT(&huart2,&query1,1);
		HAL_UART_Transmit_IT(&huart2,&query2,1);
		HAL_Delay(10);
	  }
	  else if(flag==1){
		flag=0;
		printf("Yaw=%.2f  Pitch=%.2f  ROLL=%.2f\r\n",(double)y/100.0f,(double)p/100.0f,(double)r/100.0f);
//		HAL_Delay(200);
	  }
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */

六、注意事项

1、输出格式

2、命令字节

3、注意事项

七、源码提供

【STM32+HAL】GY25倾斜度角度模块源码

【STM32+HAL】GY25倾斜度角度模块源码(F407ZGT6)

  • 12
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]: GY-25A模块是一种倾角传感器模块,可以通过串口输出角度数据。引用\[2\]: K_A14_012是一种基于STM32单片机驱动GY-25倾斜度角度模块的方案,可以实现串口和OLED双显示。引用\[3\]: ADIS16203是一款完整的倾斜角测量系统,采用了ADI公司的iSensor™集成技术,可以通过SPI接口访问倾斜角数据。基于这些引用内容,STM32可以通过串口或SPI接口与倾斜角度传感器进行通信和获取数据。具体的实现方式取决于所选的传感器模块STM32的型号。 #### 引用[.reference_title] - *1* [STM32获取GY-25A倾角传感器串口输出数据](https://blog.csdn.net/hwytree/article/details/122622720)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [K_A14_012基于STM32单片机驱动GY-25倾斜度角度模块 串口与OLED0.96双显示](https://blog.csdn.net/lfmnlxx79691557/article/details/129209387)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ADIS16203角度传感器的stm32驱动实现要点](https://blog.csdn.net/MENGHUANBEIKE/article/details/80380774)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值