陀螺儀HMC5883L
- #include "stm32f10x.h"
- #include "I2C.h"
- #include "HMC5883L.h"
- #include "delay.h"
- #include "math.h"
- #include "usart.h"
- short int data[3];
- double angle,m,n;
- int main(void)
- {
- delay_init();
- i2c_init();
- hmc_init();
- uart_init(9600);
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
- while(1)
- {
- hmc_read_XYZ(data);
- angle=atan2((double)data[2],(double)data[0])*(180 / 3.14159265)+180;
- delay_ms(200);
- m=n=angle;
- while(-90<=m-n<=90)//90是角度,不準確可以稍微調一下
- {
- //這里是旋轉的函數
- hmc_read_XYZ(data);
- angle=atan2((double)data[2],(double)data[0])*(180 / 3.14159265)+180;
- delay_ms(200);
- n=angle;
- }
- // USART_SendData(USART1, angle);//向串口1發送數據
- // while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待發送結束
-
- }
- }
復制代碼
全部資料下載地址:
HMC5883L.rar
(312.59 KB, 下載次數: 170)
2017-9-16 00:54 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|