完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请教各位一个问题,实在是没有查问题的方向了。 define NUM_HALF NUM_MAX/2uint16_t AdcBuf[NUM_MAX]; short puthalf=0; } void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) putplt=1; } int main(void)
// HAL_TIM_Base_Start(&htim3);//定时器
} |
|
相关推荐
6个回答
|
|
|
|
|
|
|
|
|
|
左半拉是正常的,信号源100hz(10ms),采样1ms 1024次。差不多会读到100个周期。图片是前50次的。差不多一半的时候突变了。
单步调试的时候,没有问题。跑起来反而错了。我认为是打印执行的时候,影响到了。程序加了dealy就可以。但是程序时序比较严格,不允许使用delay。请问有什么方法可以解决吗? |
|
|
|
采样功能放在循环外没事,放在循环里就不行了。二次采样就出现上述问题
|
|
|
|
哦,你用了几个标志。然后线程里判断这几个标志。可能标志状态错了,不是 1 的时候判断是 1 了。
按照你说的1024次差不多是100个周期,DMA半传输中断应该有50个周期数据,你绘制的好像没这么多周期吧。 单步调试时,可能过程比较清晰,在你按下一步的时候,DMA 已经采样完了。 你这样,500ms才有一次中断,我觉得用完成量做消息同步也没问题。在中断里把数据拷贝到 AdcBuf 里。 全传输完成中断之后在线程里处理所有数据,处理完所有数据之后再启动下一次采样。 尽量少用 rt_kprintf 打印吧,你们用的串口驱动都耗用执行时间的。 |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
971 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
3205 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1434 浏览 0 评论
2085 浏览 0 评论
1604 浏览 0 评论
75212 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 05:57 , Processed in 0.706101 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号