中级会员
 
- 积分
- 382
- 金钱
- 382
- 注册时间
- 2013-8-31
- 在线时间
- 14 小时
|
1 简述
想做一个能观察我的VGA小车的姿态角度的系统,一直在网上找相对应的模块。想找个性价比高点的,同时精度高点的。最后在淘宝上找到一款JY901模块。这个模块能XY动态精度0.1度,静态能到0.05度。Z轴的精度为1度。一般一百多元的价格,能到这个精度的还是很少的。果断入手一个来测试下性能。下图给大家看下这个模块

模块的体积很小,很方便能贴在我的PCB板上。不过这个模块的Z轴不能受磁场干扰。因此只能远离我的VGA小车的电机,我把这个模块和我的板子一起用杆子撑起来,远离这些干扰(我是做的一根30CM的杆)。最后测试效果还可以的。
2 连接方式
这个JY901连接是很方便的。供电3.3-5v。直接接我单片机上电压就行了。接线的方式如下:

3 串口读取程序
串口读取简单分为两个部分。1、配置单片机的UART口。2、数据处理部分了。下面和大家一一分享。
3.1配置单片机的UART口
我使用的是UART2,使用时钟、模式、速度等。都在下面大家参考下
[backcolor=inherit !important]void [backcolor=inherit !important]Initial_UART2[backcolor=inherit !important]([backcolor=inherit !important]unsigned [backcolor=inherit !important]long baudrate[backcolor=inherit !important])[backcolor=inherit !important]{ GPIO_InitTypeDef GPIO_InitStructure[backcolor=inherit !important]; USART_InitTypeDef USART_InitStructure[backcolor=inherit !important]; NVIC_InitTypeDef NVIC_InitStructure[backcolor=inherit !important]; [backcolor=inherit !important]RCC_APB1PeriphClockCmd[backcolor=inherit !important](RCC_APB1Periph_USART2 | RCC_APB2Periph_GPIOA[backcolor=inherit !important], ENABLE[backcolor=inherit !important])[backcolor=inherit !important]; GPIO_InitStructure[backcolor=inherit !important].GPIO_Pin = GPIO_Pin_2[backcolor=inherit !important]; GPIO_InitStructure[backcolor=inherit !important].GPIO_Mode = GPIO_Mode_AF_PP[backcolor=inherit !important]; GPIO_InitStructure[backcolor=inherit !important].GPIO_Speed = GPIO_Speed_50MHz[backcolor=inherit !important]; [backcolor=inherit !important]GPIO_Init[backcolor=inherit !important](GPIOA[backcolor=inherit !important], &GPIO_InitStructure[backcolor=inherit !important])[backcolor=inherit !important]; GPIO_InitStructure[backcolor=inherit !important].GPIO_Pin = GPIO_Pin_3[backcolor=inherit !important]; GPIO_InitStructure[backcolor=inherit !important].GPIO_Mode = GPIO_Mode_IN_FLOATING[backcolor=inherit !important]; [backcolor=inherit !important]GPIO_Init[backcolor=inherit !important](GPIOA[backcolor=inherit !important], &GPIO_InitStructure[backcolor=inherit !important])[backcolor=inherit !important]; USART_InitStructure[backcolor=inherit !important].USART_BaudRate = baudrate[backcolor=inherit !important]; USART_InitStructure[backcolor=inherit !important].USART_WordLength = USART_WordLength_8b[backcolor=inherit !important]; USART_InitStructure[backcolor=inherit !important].USART_StopBits = USART_StopBits_1[backcolor=inherit !important]; USART_InitStructure[backcolor=inherit !important].USART_Parity = USART_Parity_No [backcolor=inherit !important]; USART_InitStructure[backcolor=inherit !important].USART_HardwareFlowControl = USART_HardwareFlowControl_None[backcolor=inherit !important]; USART_InitStructure[backcolor=inherit !important].USART_Mode = USART_Mode_Rx | USART_Mode_Tx[backcolor=inherit !important]; [backcolor=inherit !important]USART_Init[backcolor=inherit !important](USART2[backcolor=inherit !important], &USART_InitStructure[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]USART_ITConfig[backcolor=inherit !important](USART2[backcolor=inherit !important], USART_IT_TXE[backcolor=inherit !important], DISABLE[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]USART_ITConfig[backcolor=inherit !important](USART2[backcolor=inherit !important], USART_IT_RXNE[backcolor=inherit !important], ENABLE[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]USART_ClearFlag[backcolor=inherit !important](USART2[backcolor=inherit !important],USART_FLAG_TC[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]USART_Cmd[backcolor=inherit !important](USART2[backcolor=inherit !important], ENABLE[backcolor=inherit !important])[backcolor=inherit !important]; NVIC_InitStructure[backcolor=inherit !important].NVIC_IRQChannel = USART2_IRQn[backcolor=inherit !important]; NVIC_InitStructure[backcolor=inherit !important].NVIC_IRQChannelPreemptionPriority = [backcolor=inherit !important]1[backcolor=inherit !important]; NVIC_InitStructure[backcolor=inherit !important].NVIC_IRQChannelSubPriority = [backcolor=inherit !important]8[backcolor=inherit !important]; NVIC_InitStructure[backcolor=inherit !important].NVIC_IRQChannelCmd = ENABLE[backcolor=inherit !important]; [backcolor=inherit !important]NVIC_Init[backcolor=inherit !important](&NVIC_InitStructure[backcolor=inherit !important])[backcolor=inherit !important];[backcolor=inherit !important]}
3.2 数据处理
3.2.1数据接收
编写思维是这样的。当我的UART2接受到数据后就会存在我的ucRxBuffer[250]里,根据这个JY901的通讯协议。我就开始判断我接受的数据里面是不是有55包头的数据。然后我还加了一个计数ucRxCnt。加在一起我会判断。整个数据的长度是不是11位数据。最后,根据商家给的通讯协议里。50代表时间、51加速度、52角速度、53角度、54磁场等,我再判断我的这11位数据的第二位是上面的哪个值。就可以了。
[backcolor=inherit !important]void [backcolor=inherit !important]CopeSerial2Data[backcolor=inherit !important]([backcolor=inherit !important]unsigned [backcolor=inherit !important]char ucData[backcolor=inherit !important])[backcolor=inherit !important]{ [backcolor=inherit !important]static [backcolor=inherit !important]unsigned [backcolor=inherit !important]char ucRxBuffer[backcolor=inherit !important][[backcolor=inherit !important]250[backcolor=inherit !important]][backcolor=inherit !important]; [backcolor=inherit !important]static [backcolor=inherit !important]unsigned [backcolor=inherit !important]char ucRxCnt = [backcolor=inherit !important]0[backcolor=inherit !important]; [backcolor=inherit !important]LED_REVERSE[backcolor=inherit !important]([backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]USB_TxWrite[backcolor=inherit !important](&ucData[backcolor=inherit !important],[backcolor=inherit !important]1[backcolor=inherit !important])[backcolor=inherit !important]; ucRxBuffer[backcolor=inherit !important][ucRxCnt++[backcolor=inherit !important]]=ucData[backcolor=inherit !important]; [backcolor=inherit !important]if [backcolor=inherit !important](ucRxBuffer[backcolor=inherit !important][[backcolor=inherit !important]0[backcolor=inherit !important]]!=[backcolor=inherit !important]0x55[backcolor=inherit !important]) [backcolor=inherit !important]{ ucRxCnt=[backcolor=inherit !important]0[backcolor=inherit !important]; [backcolor=inherit !important]return[backcolor=inherit !important]; [backcolor=inherit !important]} [backcolor=inherit !important]if [backcolor=inherit !important](ucRxCnt<[backcolor=inherit !important]11[backcolor=inherit !important]) [backcolor=inherit !important]{[backcolor=inherit !important]return[backcolor=inherit !important];[backcolor=inherit !important]} [backcolor=inherit !important]else [backcolor=inherit !important]{ [backcolor=inherit !important]switch[backcolor=inherit !important](ucRxBuffer[backcolor=inherit !important][[backcolor=inherit !important]1[backcolor=inherit !important]][backcolor=inherit !important]) [backcolor=inherit !important]{ [backcolor=inherit !important]case [backcolor=inherit !important]0x50: [backcolor=inherit !important]memcpy[backcolor=inherit !important](&stcTime[backcolor=inherit !important],&ucRxBuffer[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]][backcolor=inherit !important],[backcolor=inherit !important]8[backcolor=inherit !important])[backcolor=inherit !important];[backcolor=inherit !important]break[backcolor=inherit !important]; [backcolor=inherit !important]case [backcolor=inherit !important]0x51: [backcolor=inherit !important]memcpy[backcolor=inherit !important](&stcAcc[backcolor=inherit !important],&ucRxBuffer[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]][backcolor=inherit !important],[backcolor=inherit !important]8[backcolor=inherit !important])[backcolor=inherit !important];[backcolor=inherit !important]break[backcolor=inherit !important]; [backcolor=inherit !important]case [backcolor=inherit !important]0x52: [backcolor=inherit !important]memcpy[backcolor=inherit !important](&stcGyro[backcolor=inherit !important],&ucRxBuffer[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]][backcolor=inherit !important],[backcolor=inherit !important]8[backcolor=inherit !important])[backcolor=inherit !important];[backcolor=inherit !important]break[backcolor=inherit !important]; [backcolor=inherit !important]case [backcolor=inherit !important]0x53: [backcolor=inherit !important]memcpy[backcolor=inherit !important](&stcAngle[backcolor=inherit !important],&ucRxBuffer[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]][backcolor=inherit !important],[backcolor=inherit !important]8[backcolor=inherit !important])[backcolor=inherit !important];[backcolor=inherit !important]break[backcolor=inherit !important]; [backcolor=inherit !important]case [backcolor=inherit !important]0x54: [backcolor=inherit !important]memcpy[backcolor=inherit !important](&stcMag[backcolor=inherit !important],&ucRxBuffer[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]][backcolor=inherit !important],[backcolor=inherit !important]8[backcolor=inherit !important])[backcolor=inherit !important];[backcolor=inherit !important]break[backcolor=inherit !important]; [backcolor=inherit !important]case [backcolor=inherit !important]0x55: [backcolor=inherit !important]memcpy[backcolor=inherit !important](&stcDStatus[backcolor=inherit !important],&ucRxBuffer[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]][backcolor=inherit !important],[backcolor=inherit !important]8[backcolor=inherit !important])[backcolor=inherit !important];[backcolor=inherit !important]break[backcolor=inherit !important]; [backcolor=inherit !important]case [backcolor=inherit !important]0x56: [backcolor=inherit !important]memcpy[backcolor=inherit !important](&stcPress[backcolor=inherit !important],&ucRxBuffer[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]][backcolor=inherit !important],[backcolor=inherit !important]8[backcolor=inherit !important])[backcolor=inherit !important];[backcolor=inherit !important]break[backcolor=inherit !important]; [backcolor=inherit !important]case [backcolor=inherit !important]0x57: [backcolor=inherit !important]memcpy[backcolor=inherit !important](&stcLonLat[backcolor=inherit !important],&ucRxBuffer[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]][backcolor=inherit !important],[backcolor=inherit !important]8[backcolor=inherit !important])[backcolor=inherit !important];[backcolor=inherit !important]break[backcolor=inherit !important]; [backcolor=inherit !important]case [backcolor=inherit !important]0x58: [backcolor=inherit !important]memcpy[backcolor=inherit !important](&stcGPSV[backcolor=inherit !important],&ucRxBuffer[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]][backcolor=inherit !important],[backcolor=inherit !important]8[backcolor=inherit !important])[backcolor=inherit !important];[backcolor=inherit !important]break[backcolor=inherit !important]; [backcolor=inherit !important]case [backcolor=inherit !important]0x59: [backcolor=inherit !important]memcpy[backcolor=inherit !important](&stcQ[backcolor=inherit !important],&ucRxBuffer[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]][backcolor=inherit !important],[backcolor=inherit !important]8[backcolor=inherit !important])[backcolor=inherit !important];[backcolor=inherit !important]break[backcolor=inherit !important]; [backcolor=inherit !important]} ucRxCnt=[backcolor=inherit !important]0[backcolor=inherit !important];[backcolor=inherit !important]}
3.2.2 数据解算
解算这块呢,最关键的是就是根据商家给的公式去解算。我上面获取的16进制的数据。按照公式套进去就可以了。
[backcolor=inherit !important]sprintf[backcolor=inherit !important](str[backcolor=inherit !important],[backcolor=inherit !important]"Time:20%d-%d-%d %d:%d:%.3f\r\n"[backcolor=inherit !important],stcTime[backcolor=inherit !important].ucYear[backcolor=inherit !important],stcTime[backcolor=inherit !important].ucMonth[backcolor=inherit !important],stcTime[backcolor=inherit !important].ucDay[backcolor=inherit !important],stcTime[backcolor=inherit !important].ucHour[backcolor=inherit !important],stcTime[backcolor=inherit !important].ucMinute[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcTime[backcolor=inherit !important].ucSecond+[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcTime[backcolor=inherit !important].usMiliSecond/[backcolor=inherit !important]1000[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]UART1_Put_String[backcolor=inherit !important](str[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]delay_ms[backcolor=inherit !important]([backcolor=inherit !important]10[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]sprintf[backcolor=inherit !important](str[backcolor=inherit !important],[backcolor=inherit !important]"Acc:%.3f %.3f %.3f\r\n"[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcAcc[backcolor=inherit !important].a[backcolor=inherit !important][[backcolor=inherit !important]0[backcolor=inherit !important]]/[backcolor=inherit !important]32768*[backcolor=inherit !important]16[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcAcc[backcolor=inherit !important].a[backcolor=inherit !important][[backcolor=inherit !important]1[backcolor=inherit !important]]/[backcolor=inherit !important]32768*[backcolor=inherit !important]16[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcAcc[backcolor=inherit !important].a[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]]/[backcolor=inherit !important]32768*[backcolor=inherit !important]16[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]UART1_Put_String[backcolor=inherit !important](str[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]delay_ms[backcolor=inherit !important]([backcolor=inherit !important]10[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]sprintf[backcolor=inherit !important](str[backcolor=inherit !important],[backcolor=inherit !important]"Gyro:%.3f %.3f %.3f\r\n"[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcGyro[backcolor=inherit !important].w[backcolor=inherit !important][[backcolor=inherit !important]0[backcolor=inherit !important]]/[backcolor=inherit !important]32768*[backcolor=inherit !important]2000[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcGyro[backcolor=inherit !important].w[backcolor=inherit !important][[backcolor=inherit !important]1[backcolor=inherit !important]]/[backcolor=inherit !important]32768*[backcolor=inherit !important]2000[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcGyro[backcolor=inherit !important].w[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]]/[backcolor=inherit !important]32768*[backcolor=inherit !important]2000[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]UART1_Put_String[backcolor=inherit !important](str[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]delay_ms[backcolor=inherit !important]([backcolor=inherit !important]10[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]sprintf[backcolor=inherit !important](str[backcolor=inherit !important],[backcolor=inherit !important]"Angle:%.3f %.3f %.3f\r\n"[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcAngle[backcolor=inherit !important].Angle[backcolor=inherit !important][[backcolor=inherit !important]0[backcolor=inherit !important]]/[backcolor=inherit !important]32768*[backcolor=inherit !important]180[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcAngle[backcolor=inherit !important].Angle[backcolor=inherit !important][[backcolor=inherit !important]1[backcolor=inherit !important]]/[backcolor=inherit !important]32768*[backcolor=inherit !important]180[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcAngle[backcolor=inherit !important].Angle[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]]/[backcolor=inherit !important]32768*[backcolor=inherit !important]180[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]UART1_Put_String[backcolor=inherit !important](str[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]delay_ms[backcolor=inherit !important]([backcolor=inherit !important]10[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]sprintf[backcolor=inherit !important](str[backcolor=inherit !important],[backcolor=inherit !important]"Mag:%d %d %d\r\n"[backcolor=inherit !important],stcMag[backcolor=inherit !important].h[backcolor=inherit !important][[backcolor=inherit !important]0[backcolor=inherit !important]][backcolor=inherit !important],stcMag[backcolor=inherit !important].h[backcolor=inherit !important][[backcolor=inherit !important]1[backcolor=inherit !important]][backcolor=inherit !important],stcMag[backcolor=inherit !important].h[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]][backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]UART1_Put_String[backcolor=inherit !important](str[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]delay_ms[backcolor=inherit !important]([backcolor=inherit !important]10[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]sprintf[backcolor=inherit !important](str[backcolor=inherit !important],[backcolor=inherit !important]"Pressure:%ld Height%.2f\r\n"[backcolor=inherit !important],stcPress[backcolor=inherit !important].lPressure[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcPress[backcolor=inherit !important].lAltitude/[backcolor=inherit !important]100[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]UART1_Put_String[backcolor=inherit !important](str[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]delay_ms[backcolor=inherit !important]([backcolor=inherit !important]10[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]sprintf[backcolor=inherit !important](str[backcolor=inherit !important],[backcolor=inherit !important]"DStatus:%d %d %d %d\r\n"[backcolor=inherit !important],stcDStatus[backcolor=inherit !important].sDStatus[backcolor=inherit !important][[backcolor=inherit !important]0[backcolor=inherit !important]][backcolor=inherit !important],stcDStatus[backcolor=inherit !important].sDStatus[backcolor=inherit !important][[backcolor=inherit !important]1[backcolor=inherit !important]][backcolor=inherit !important],stcDStatus[backcolor=inherit !important].sDStatus[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]][backcolor=inherit !important],stcDStatus[backcolor=inherit !important].sDStatus[backcolor=inherit !important][[backcolor=inherit !important]3[backcolor=inherit !important]][backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]UART1_Put_String[backcolor=inherit !important](str[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]delay_ms[backcolor=inherit !important]([backcolor=inherit !important]10[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]sprintf[backcolor=inherit !important](str[backcolor=inherit !important],[backcolor=inherit !important]"Longitude:%ldDeg%.5fm Lattitude:%ldDeg%.5fm\r\n"[backcolor=inherit !important],stcLonLat[backcolor=inherit !important].lLon/[backcolor=inherit !important]10000000[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]double[backcolor=inherit !important])[backcolor=inherit !important](stcLonLat[backcolor=inherit !important].lLon % [backcolor=inherit !important]10000000[backcolor=inherit !important])/[backcolor=inherit !important]1e5[backcolor=inherit !important],stcLonLat[backcolor=inherit !important].lLat/[backcolor=inherit !important]10000000[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]double[backcolor=inherit !important])[backcolor=inherit !important](stcLonLat[backcolor=inherit !important].lLat % [backcolor=inherit !important]10000000[backcolor=inherit !important])/[backcolor=inherit !important]1e5[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]UART1_Put_String[backcolor=inherit !important](str[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]delay_ms[backcolor=inherit !important]([backcolor=inherit !important]10[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]sprintf[backcolor=inherit !important](str[backcolor=inherit !important],[backcolor=inherit !important]"GPSHeight:%.1fm GPSYaw:%.1fDeg GPSV:%.3fkm/h\r\n"[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcGPSV[backcolor=inherit !important].sGPSHeight/[backcolor=inherit !important]10[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcGPSV[backcolor=inherit !important].sGPSYaw/[backcolor=inherit !important]10[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcGPSV[backcolor=inherit !important].lGPSVelocity/[backcolor=inherit !important]1000[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]UART1_Put_String[backcolor=inherit !important](str[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]delay_ms[backcolor=inherit !important]([backcolor=inherit !important]10[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]sprintf[backcolor=inherit !important](str[backcolor=inherit !important],[backcolor=inherit !important]"Four elements:%.5f %.5f %.5f %.5f\r\n\r\n"[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcQ[backcolor=inherit !important].q[backcolor=inherit !important][[backcolor=inherit !important]0[backcolor=inherit !important]]/[backcolor=inherit !important]32768[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcQ[backcolor=inherit !important].q[backcolor=inherit !important][[backcolor=inherit !important]1[backcolor=inherit !important]]/[backcolor=inherit !important]32768[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcQ[backcolor=inherit !important].q[backcolor=inherit !important][[backcolor=inherit !important]2[backcolor=inherit !important]]/[backcolor=inherit !important]32768[backcolor=inherit !important],[backcolor=inherit !important]([backcolor=inherit !important]float[backcolor=inherit !important])stcQ[backcolor=inherit !important].q[backcolor=inherit !important][[backcolor=inherit !important]3[backcolor=inherit !important]]/[backcolor=inherit !important]32768[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]UART1_Put_String[backcolor=inherit !important](str[backcolor=inherit !important])[backcolor=inherit !important]; [backcolor=inherit !important]delay_ms[backcolor=inherit !important]([backcolor=inherit !important]10[backcolor=inherit !important])[backcolor=inherit !important];
最后给大家分享下我写的这个代码
https://pan.baidu.com/s/1Wp3A4_84FjCUURahqlVK6A
|
|