STM32F103基于DMA+USART收发数据 STM32蓝牙串口助手
| /*********************程序说明*****************/ //芯片解密程序可实现将stm32f103的ADC采样值和将其转化的电压值发送给手机 //芯片解密ADC---PA0 //芯片解密串口 PA9 PA10 #include "stm32f10x.h" #include "valuepack.h" #include "delay.h" #include "adc.h" // 首先需要有 发送数据包 和 接收数据包 数据包中有不同类型变量的数组, //可以在valuepack.h中定义数据包的结构 TxPack txpack; RxPack rxpack; float f; u16 adcx; int main(void) { initValuePack(9600); // 初始化串口 设置波特率` delay_init(); Adc_Init(); //ADC初始化 while(1) { adcx=Get_Adc_Average(ADC_Channel_1,10); f=(float)adcx*(3.3/4096); //电压转化 delay_ms(250);// 延时一段时间 txpack.integers[0] =adcx; //发送整形数据adcx给手机 txpack.floats[0] =f; //发送浮点数据f给手机 sendValuePack(&txpack); /////////////////////////////////////////////////////////////////////////////////////////////////////// /// 数据收发部分 // if(readValuePack(&rxpack)) // { // // 在此将读取到的手机传来的数据,赋值给发送数据,实现将接收的数据原样回传 // txpack.bools[0] = rxpack.bools[0]; //布尔型 // txpack.bytes[0] = rxpack.bytes[0]; // txpack.shorts[0] = rxpack.shorts[0]; // txpack.integers[0] = rxpack.integers[0]; // txpack.floats[0]= rxpack.floats[0]; // 你也可以把 sendValuePack放在这,这样就只有当接收到手机传来的数据包后才回传数据 // // } } } |

芯片解密