jy-61傳感器STM32F1版本,供參考使用
單片機源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "key.h"
- #include "sys.h"
- #include "usart.h"
- #include "oled.h"
- #include "string.h"
- extern unsigned char Re_buf[11],temp_buf[11],counter;
- extern unsigned char sign,t,he;
- float a[3],w[3],angle[3],T;
- extern unsigned char Temp[11];
- char dis_main[20];
- int main(void)
- {
- u16 t;
- u16 len;
- u16 times=0;
- delay_init(); //延時函數初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
- uart_init(115200); //串口初始化為115200
- LED_Init(); //LED端口初始化
- KEY_Init(); //初始化與按鍵連接的硬件接口
- OLED_Init();
- while(1)
- {
-
- if(sign)
- {
- memcpy(Temp,Re_buf,11);
- sign=0;
- if(Re_buf[0]==0x55) //檢查幀頭
- {
- switch(Re_buf[1])
- {
- case 0x51: //標識這個包是加速度包
- a[0] = ((short)(Temp[3]<<8 | Temp[2]))/32768.0*16; //X軸加速度
- a[1] = ((short)(Temp[5]<<8 | Temp[4]))/32768.0*16; //Y軸加速度
- a[2] = ((short)(Temp[7]<<8 | Temp[6]))/32768.0*16; //Z軸加速度
- T = ((short)(Temp[9]<<8 | Temp[8]))/340.0+36.25; //溫度
- break;
- case 0x52: //標識這個包是角速度包
- w[0] = ((short)(Temp[3]<<8| Temp[2]))/32768.0*2000; //X軸角速度
- w[1] = ((short)(Temp[5]<<8| Temp[4]))/32768.0*2000; //Y軸角速度
- w[2] = ((short)(Temp[7]<<8| Temp[6]))/32768.0*2000; //Z軸角速度
- T = ((short)(Temp[9]<<8| Temp[8]))/340.0+36.25; //溫度
- break;
- case 0x53: //標識這個包是角度包
- angle[0] = ((short)(Temp[3]<<8| Temp[2]))/32768.0*180; //X軸滾轉角(x 軸)
- angle[1] = ((short)(Temp[5]<<8| Temp[4]))/32768.0*180; //Y軸俯仰角(y 軸)
- angle[2] = ((short)(Temp[7]<<8| Temp[6]))/32768.0*180; //Z軸偏航角(z 軸)
- T = ((short)(Temp[9]<<8| Temp[8]))/340.0+36.25; //溫度
- //printf("X軸角度:%.2f Y軸角度:%.2f Z軸角度:%.2f\r\n",angle[0],angle[1],angle[2]);
- break;
- default: break;
- }
- }
-
- }
- // sprintf(dis_main," ");
- // OLED_ShowString(0,0,(u8*)dis_main);
- // sprintf(dis_main," ");
- // OLED_ShowString(0,2,(u8*)dis_main);
-
- //顯示角度
- sprintf(dis_main,"X=%d Y=%d ",(int )(angle[0]),(int)(angle[1]));
- OLED_ShowString(0,0,(u8*)dis_main);
- sprintf(dis_main,"Z=%d T=%d ",(int )(angle[2]),(int)(T));
- OLED_ShowString(0,2,(u8*)dis_main);
-
-
-
-
-
-
-
- }
- }
復制代碼
所有資料51hei提供下載:
JY61測試代碼.7z
(194.9 KB, 下載次數: 30)
2020-3-25 16:14 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|