|
/*********************程序说明*****************/
//程序可实现将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放在这,这样就只有当接收到手机传来的数据包后才回传数据
//
// }
}
}
|
评分
-
查看全部评分
|