单片机/MCU论坛
直播中

黄子健

未满1年用户 3经验值
擅长:嵌入式技术 模拟技术 接口/总线/驱动 控制/MCU
私信 关注
[问答]

为什么hx711模块在stm32F103C8T6能读取拉力传感器数据,在stm32F407IGHX使用时数据紊乱?

hx711接拉力传感器接stm32F103C8T6,该函数能正常运行,读取数据,但是用stm32F407IGHX时,val的值一直在不规则跳变,而且按压拉力传感器也没有改变,接线和配置引脚没有问题,之前有怀疑是时钟配置的问题,但是在hal库时钟树更改后也没有解决,也想过是不是延时函数和内部时钟频率不匹配,但还没有问题解决的头绪。

image.png

奖励1积分

回帖(1)

卢表镜

2024-11-4 18:33:24
根据您的描述,您在使用hx711模块读取拉力传感器数据时,在stm32F103C8T6上可以正常工作,但在stm32F407IGHX上数据紊乱。您已经排除了接线和引脚配置问题,以及时钟配置问题。接下来,我们可以尝试以下几个步骤来排查问题:

1. 检查电源供应:确保stm32F407IGHX的电源供应稳定,电压和电流是否符合hx711模块的要求。不稳定的电源可能导致数据读取不稳定。

2. 检查时钟频率:虽然您已经尝试过调整时钟配置,但仍然需要确保stm32F407IGHX的时钟频率与hx711模块兼容。您可以查阅hx711模块的数据手册,了解其对时钟频率的要求。

3. 检查延时函数:您提到了延时函数和内部时钟频率不匹配的问题。请确保在stm32F407IGHX上使用的延时函数与stm32F103C8T6上使用的延时函数相同。如果不同,请尝试将stm32F103C8T6上的延时函数移植到stm32F407IGHX上。

4. 检查中断优先级:stm32F407IGHX具有更高的性能和更多的中断优先级。请检查您的代码中是否有中断优先级设置不当导致的问题。您可以尝试禁用所有中断,然后逐步启用,以确定是否有特定的中断导致了数据紊乱。

5. 检查代码兼容性:由于stm32F407IGHX与stm32F103C8T6在硬件和性能上有所不同,可能存在代码兼容性问题。请仔细检查您的代码,确保所有硬件相关操作(如GPIO、ADC等)在两种芯片上都能正常工作。

6. 检查外部干扰:请检查您的电路是否存在外部干扰,如电磁干扰、电源干扰等。这些干扰可能导致数据读取不稳定。您可以尝试使用屏蔽线缆、滤波器等方法来减少干扰。

通过以上步骤,您应该能够找到导致数据紊乱的原因,并采取相应的措施解决问题。如果问题仍然存在,建议您查阅相关论坛和社区,看看是否有其他开发者遇到过类似的问题,并寻求他们的建议。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分