Discuz! Board
标题:
关于STM8S的AD转换及清风开发板代码的疑问
[打印本页]
作者:
cherishxm
时间:
2016-8-8 14:18
标题:
关于STM8S的AD转换及清风开发板代码的疑问
你好,我对STM8的AD转换有个疑问。
1. STM8的ADC2转换的触发有定时器1触发和外部中断触发,清风给的代码是这样的, ADC2_Init(ADC2_CONVERSIONMODE_CONTINUOUS , ADC2_CHANNEL_10, ADC2_PRESSEL_FCPU_D18,\
ADC2_EXTTRIG_TIM
, DISABLE, ADC2_ALIGN_RIGHT, ADC2_SCHMITTTRIG_CHANNEL10,DISABLE);
问题是: ADC2的转换一定要开定时器1吗? 如果不开定时器1呢,因为有时定时器1有其他用途? 还有ADC2转换函数是要写在定时器1的中断里呢还是写在ADC2的中断函数里呢? 清风给的代码是定时器1中断函数和ADC2的中断函数里都有ADC转换函数。 如下所示
__interrupt void ADC2_IRQHandler(void)
{
/* Get converted value */
Conversion_Value = ADC2_GetConversionValue();
ADC_Value(Conversion_Value);
ADC2_ClearITPendingBit();
}
_interrupt void TIM1_UPD_OVF_TRG_BRK_IRQHandler(void)
{
Conversion_Value = ADC2_GetConversionValue();
Delay(0xffff);
Delay(0xffff);
ADC_Value(Conversion_Value);
TIM1_ClearITPendingBit(TIM1_IT_UPDATE);
}
我试过如果把ADC2的函数删掉,LCD不能显示。 视频教程里对ADC2的讲解不太清晰,麻烦在解答下,谢谢。
作者:
admin
时间:
2016-8-9 09:15
可以不要定时器,看看我们寄存器版本的文档,讲的很清楚
作者:
cherishxm
时间:
2016-8-9 09:21
对开发板和代码,我有三个问题,麻烦分别解答下。
1. 开发板上的Vref+, Vref-参考电压是多少V? 我用万用表量了下是1.8V, 不是3.3V。 请确认。
2. 在AD应用的代码里,我额外加了个定时器4做其他用途,但是发现这时定时器4不能工作,如果屏蔽掉AD初始化,就能工作了。 还有不屏蔽掉AD初始化,只是把AD转换改为单次转换,定时器4也能工作了,就是不能连续转换,这是什么原因呢? 谢谢
作者:
admin
时间:
2016-8-9 19:46
cherishxm 发表于 2016-8-9 09:21
对开发板和代码,我有三个问题,麻烦分别解答下。
1. 开发板上的Vref+, Vref-参考电压是多少V? 我用 ...
问题1:这批专业版板子有个BUG,参考单压没给到3.3V。旗舰版没这个问题,这个下次改。
问题2:连续转换的时候,定时器应该使用中断模式。
欢迎光临 Discuz! Board (http://qfv8.com/)
Powered by Discuz! X3