奇怪,ADC的时间怎么和串口的波特率有关联了。。。

2019-07-21 01:31发布

我测试一个AD转换的时间:
printf(TIM->CNT);
Get_Adc_Raw12bit(ADC_Channel_5);//单次采样
printf(TIM->CNT);
这个时间差竟然和串口的波特率有关系。原子哥,这是怎么回事呀?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
馒头
1楼-- · 2019-07-21 02:36
回复【5楼】馒头:
---------------------------------
真是笨死了。。。
timOld = TIM->CNT;
Get_Adc_Raw12bit(ADC_Channel_5);//单次采样 
timNow = TIM->CNT; 
printf(timNow - timOld);
这样就没问题了。最快采样频率可以上1M
止天
2楼-- · 2019-07-21 03:43
 精彩回答 2  元偷偷看……
止天
3楼-- · 2019-07-21 03:58
是不是你printf时候占用的时间

先赋值然后一块打印试试
小温
4楼-- · 2019-07-21 09:00
 精彩回答 2  元偷偷看……
馒头
5楼-- · 2019-07-21 14:47
回复【4楼】小温:
---------------------------------
我是赋值做的。
temp = TIM->CNT;
printf(temp);
Get_Adc_Raw12bit(ADC_Channel_5);//单次采样
temp = TIM->CNT;
printf(temp);
就不明白这个波特率不同,这个时间差值就变化。。
lycreturn
6楼-- · 2019-07-21 19:45
打印也要耗时, 波特率不同, 速度不同,  完成一次打印时间就不同

一周热门 更多>