
各位高手,我最近在做一个温度采集系统,大体是温度传感器和一个运算放大器构成,将温度传感器输出的电压经过运放后输入CPU的ADC口,然后将温度和电压显示在LCD上。 温度传感器采集电压的电路没什么问题,用电压表可以测出预定的电压,但是将输出电压接到STM32单片机的ADC口上却采不到数据。电压值和ADC的值一直是跳变的。 这是adc.c的程序 这是主程序main.c |
stm32cubemx F103芯片tim3 encoder模式pc6和pc7引脚,自动生成代码缺少gpio映射。
stm32的同一个定时器,不同的通道,可以不同时的输出pwm波形吗
USB Device + FatFS + 外挂 flash
STM32F103C8T6 TIM1 CH2输入捕获触发DMA的问题
STM32F103在使用HAL库1.8.5版本使用串口中断发送数据的时候,会出现huart2->TxXferCount为0了,但是并没有清除掉TXEIE中断也没有使能TCIE中断,而且huart2->gState已经被置为HAL_UART_STATE_READE,导致了一直在进入TXEIE中断,主循环都无法执行
STM32的低功耗模式
四轴飞行器
不清楚为什么正点原子的例程,想添加SCB添加到watch1却是无效的(在core_cm3.h定义的寄存器都不可以),但是可以添加GPIOA并且有效(stm32f10x.h定义的寄存器都可以)
不知道为什么用正点原子的开源例程硬件仿真时。想观察寄存器的值,所以添加到watch1观察,不清楚为啥SCB,NVTC等都添加了但是无效,但是GPIOA却又可以。
STM32的上电启动过程
发板,注意管脚使用冲突的问题。然后,再接上你现在的待测信号进一步验证。
我用例程改的程序是可以采集单片机IO口上的电压,显示也没有问题,但是接到温度传感器的输出端时采集到的电压信号和预估的信号不一样,应该采集到的是3V,但实际是1.7-2V之间跳变。
你可以看看是不是ADC转换出现了什么问题
程序吗?我感觉这个程序很简单,应该就是这样,不知道怎么改了。。。。。
采样时间为239.5个周期,大概17.1us,我感觉不小了
程序问题不大。
估计是温度的前向通道底线处理不好,有共模干扰。
把电路贴出来看看
应该用示波器看 电压的波动范围。万用表精度不够的话应该体现不出来。 这个还是要从电路角度去分析。一般负温度系数传感器是会引起电压的跳动。这个时候需要增加一个电容来处理。下面是我之前设计的一个温度采集的电路:
可以打印转换的ADC值,以及使用示波器观察ADC的输入引脚的电平变化