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

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

您在使用hx711模块读取拉力传感器数据时,在stm32F103C8T6上可以正常工作,但在stm32F407IGHX上数据紊乱。您已经排除了接线和引脚配置问题,以及时钟配置问题。接下来,我们可以尝试以下几个步骤来排查问题:
1. 检查电源供应:确保stm32F407IGHX的电源供应稳定,电压和电流是否符合hx711模块的要求。不稳定的电源可能导致数据读取不稳定。
2. 检查时钟频率:虽然您已经尝试过调整时钟配置,但仍然需要确保stm32F407IGHX的时钟频率与hx711模块兼容。您可以查阅hx711模块的数据手册,了解其对时钟频率的要求。
3. 检查延时函数:您提到了延时函数和内部时钟频率不匹配的问题。请确保在stm32F407IGHX上使用的延时函数与stm32F103C8T6上使用的延时函数相同。如果不同,请尝试将stm32F103C8T6上的延时函数移植到stm32F407IGHX上。
4. 检查中断优先级:stm32F407IGHX具有更高的性能和更多的中断优先级。请检查您的代码中是否有中断优先级设置不当导致的问题。您可以尝试禁用所有中断,然后逐步启用,以确定是否有特定的中断导致了数据紊乱。
5. 检查代码兼容性:由于stm32F407IGHX与stm32F103C8T6在硬件和性能上有所不同,可能存在代码兼容性问题。请仔细检查您的代码,确保所有硬件相关操作(如GPIO、ADC等)在两种芯片上都能正常工作。
6. 检查外部干扰:请检查您的电路是否存在外部干扰,如电磁干扰、电源干扰等。这些干扰可能导致数据读取不稳定。您可以尝试使用屏蔽线缆、滤波器等方法来减少干扰。
我要赚赏金打赏帖 |
|
|---|---|
| OK1126B-S开发板下函数构建及步进电机驱动控制被打赏¥25元 | |
| 【S32K3XX】LPI2C 参数配置说明被打赏¥20元 | |
| OK1126B-S开发板的脚本编程及应用设计被打赏¥27元 | |
| 5v升压8.4v两节锂电池充电芯片,针对同步和异步的IC测试被打赏¥35元 | |
| 【S32K3XX】S32DS LPI2C 配置失败问题解决被打赏¥22元 | |
| 【S32K3XX】FLASH 的 DID 保护机制被打赏¥19元 | |
| OK1126B-S开发板串口通信及其使用被打赏¥18元 | |
| 【S32K3XX】多核 CORE ID 获取被打赏¥18元 | |
| OK1126B-S开发板的GPIO资源及其使用被打赏¥20元 | |
| 【分享开发笔记,赚取电动螺丝刀】三分钟快速上手驱动屏幕(Arduino IDE环境)被打赏¥23元 | |