17351452279 发表于 2023-9-1 19:30:38

使用STM32F4+AD7190遇到的问题,求助大家

用STM32+AD7190做一个电流采集,同时单片机还要实现一个串口转IIC读写从机的功能,这样一共就是两个功能,程序是这样的,AD7190的执行程序放在定时器中断中,1ms进入执行一次,然后就是串口接受指令中断,会将接收到的数据存在缓存中,while循环里面放的是缓存的指令判断函数,接收到相应的串口指令就会执行相应的功能,比如执行一次IIC写功能,然后在执行一次电流采集,两个功能单独执行的时候没什么问题,但是如果我在串口助手中设置轮流循环发送这两个指令大概执行个几十次后AD7190就会卡死没输出,只剩IIC在执行了,两个指令发送周期是50ms也不算快,而且单独执行的时候是可以的,找也找不到问题在哪里,请大佬们帮我看一下大概问题方向,是需要上系统吗还是如何

1a2b3c 发表于 2023-9-1 20:02:15

这点事情上系统,怕是越恼火哦,简单的都没有捋清楚,还搞复杂的

首先你到底是串口执行的啥事情?两个指令是指i2c的读+写还是说ii2c读写+adc?
然后adc周期是1ms一次是必须的吗?也就是说adc采样周期是1k次每秒钟?
是的话,你确认你adc可以在1ms没做完所有的事情而且还有不少的剩余时间?
简单的一些调试手段例如,用指示灯的亮/灭代替adc操作的内容或者是串口打印一个字符,验证你的系统架构流程是不是对的,
只要一直在闪灯或者有字符输出说明问题在adc操作相关的部分:要么1ms压根处理不完所有adc相关事务,要么有系统资源和i2c那边相互作用导致特定情况下条件不满足。
等等各种方法,等你试完了再来回顾一下,
页: [1]
查看完整版本: 使用STM32F4+AD7190遇到的问题,求助大家