標(biāo)題:
stm32用的正點(diǎn)原子的一套10軸傳感器和wifi8266完成 源程序
[打印本頁]
作者:
gkugug
時(shí)間:
2021-11-2 15:16
標(biāo)題:
stm32用的正點(diǎn)原子的一套10軸傳感器和wifi8266完成 源程序
用的正點(diǎn)原子f103zet6的一套10軸傳感器和wifi8266完成,實(shí)現(xiàn)數(shù)據(jù)由wifi透?jìng)魍瓿�。稍加改改就能移植其�?br />
單片機(jī)源程序如下:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "usart2.h"
#include "string.h"
#include "imu901.h"
#include "usart3.h"
#include "stdio.h"
#include "timer.h"
int main(void)
{
uint32_t times = 0;
uint8_t ch;
// u8 *p;
// u16 t=999; //加速第一次獲取鏈接狀態(tài)
delay_init(); //延時(shí)函數(shù)初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
uart_init(115200); //串口初始化為9600
LED_Init(); //初始化與LED連接的硬件接口
USART2_init(115200);
imu901_init(); /* IMU901模塊初始 */
usart3_init(115200); //串口初始化為115200
esp8266_start_trans(); //esp8266進(jìn)行初始化
esp8266_send_data("開始發(fā)送數(shù)據(jù) \n",50);
while (1)
{
if (imu901_uart_receive(&ch, 1)) /*!< 獲取串口fifo一個(gè)字節(jié) */
{
if (imu901_unpack(ch)) /*!< 解析出有效數(shù)據(jù)包 */
{
if (rxPacket.startByte2 == UP_BYTE2) /*!< 主動(dòng)上傳的數(shù)據(jù)包 */
{
atkpParsing(&rxPacket);
}
}
}
else
{
delay_ms(1);
times++;
if (times % 300 == 0) LED0=~LED0; /* 閃爍LED,提示系統(tǒng)正在運(yùn)行 */
if (times % 1000 == 0) /*!< 1秒打印一次數(shù)據(jù) */
{
printf("\r\n");
printf("姿態(tài)角[XYZ]: %-6.1f %-6.1f %-6.1f (°)\r\n", attitude.roll, attitude.pitch, attitude.yaw); //串口調(diào)試可以看的
printf("加速度[XYZ]: %-6.3f %-6.3f %-6.3f (g)\r\n", gyroAccData.faccG[0], gyroAccData.faccG[1], gyroAccData.faccG[2]);
printf("角速度[XYZ]: %-6.1f %-6.1f %-6.1f (°/s)\r\n", gyroAccData.fgyroD[0], gyroAccData.fgyroD[1], gyroAccData.fgyroD[2]);
printf("磁場(chǎng)[XYZ] : %-6d %-6d %-6d (uT)\r\n", magData.mag[0], magData.mag[1], magData.mag[2]);
printf("氣壓 : %-6dPa %-6dcm\r\n", baroData.pressure, baroData.altitude);
u3_printf("姿態(tài)角[XYZ]: %.2f %.2f %.2f (°)\r\n",attitude.roll, attitude.pitch, attitude.yaw); //由wifi發(fā)送的數(shù)據(jù)
u3_printf("加速度[XYZ]: %.2f %.2f %.2f (g)\r\n",gyroAccData.faccG[0], gyroAccData.faccG[1], gyroAccData.faccG[2]);
u3_printf("角速度[XYZ]: %.2f %.2f %.2f (°/s)\r\n",gyroAccData.fgyroD[0], gyroAccData.fgyroD[1], gyroAccData.fgyroD[2]);
u3_printf("磁場(chǎng)[XYZ] : %-6d %-6d %-6d (uT)\r\n",magData.mag[0], magData.mag[1], magData.mag[2]);
}
}
}
}
復(fù)制代碼
Keil代碼下載:
IMU901 F1 - 實(shí)驗(yàn).7z
(207.22 KB, 下載次數(shù): 13)
2021-11-2 21:29 上傳
點(diǎn)擊文件名下載附件
imu901
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1