STM32内部温湿度采集(参考原子的程序.)我使用DMA传输的方法采集,但是总有问题,之后我使用同一个Get_Temprate,(程序在下面)然后用串口查看了数据 打印出来的adcx值明明是一样的,为什么下面打印temperate数值就不对了 串口助手截图已上传,求解,谢谢 //得到温度值 //返回值:温度值(扩大了100倍,单位:℃.) short Get_Temprate(void) { u32 adcx; short result; double temperate; adcx=ADC_ConvertedValue; //读取通道16内部温度传感器通道,10次取平均 printf("\r\n The current AD value = %f V \r\n",adcx); temperate =(float)adcx*(3.3/4096); //电压值 printf("\r\n The current AD value = %f V \r\n",temperate); temperate=(temperate-0.76)/0.0025 + 25; //转换为温度值 printf("\r\n The current AD value = %f V \r\n",temperate); result=temperate*=100; //扩大100倍. return result; |
串å£æå°æªå¾
评分
查看全部评分
评分
查看全部评分
不行,结果没变化
emperate时赋值为0
DMA的这个DR寄存器数值是0,
用原子的例程仿真,虽然DR寄存器有数值,
但是数值运行过程中根本不变化,
除非复位以后重新运行才会有新的值,,但是也不会变化,尽管LCD的读书一直在变化.
请问keil的仿真是不是有问题啊,还是我设置的不对?
评分
查看全部评分