打印
[STM8]

STM8S903 为什么转化不出来啊!!!

[复制链接]
1420|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

如下是我的程序,结果是ADC_CSR的EOC位已置位,就是读不出来。
程序死在红色的地方,这是为什么呢??
是我哪里搞错了!!!

void main(void)
{
      PD5,PD6初始化为输入;
      ADC_Config();
      while (1)
     {
         AD6 = ADC_GetValue(ADC1_CHANNEL_6);
     }
}



ADC1_Flag_TypeDef ADC1_St;

void ADC_Config(void)
{
        ADC1_DeInit();
        ADC1_PrescalerConfig(ADC1_PRESSEL_FCPU_D4);
        ADC1_ScanModeCmd(ENABLE);
        ADC1_Cmd(ENABLE);
}


INT16U ADC_GetValue(ADC1_Channel_TypeDef ADC_Channel)
{
        INT16U TempValue;
        
        ADC1_ConversionConfig(ADC1_CONVERSIONMODE_SINGLE, ADC_Channel, ADC1_ALIGN_LEFT);
        do
        {
                ADC1_St = ADC1_GetFlagStatus(ADC1_FLAG_EOC);
        }
        while (SET == ADC1_St);
        
        ADC1_ClearFlag(ADC1_FLAG_EOC);
        
        TempValue = ADC1_GetConversionValue();

        return (TempValue);
}
沙发
win2000_li|  楼主 | 2013-10-11 23:12 | 只看该作者
程序为死在这里,这是为什么呢???

为什么库函数不能执行呢??

1.JPG (115.95 KB )

1.JPG

使用特权

评论回复
板凳
win2000_li|  楼主 | 2013-10-12 14:59 | 只看该作者
自已顶起啊!!!!

使用特权

评论回复
地板
win2000_li|  楼主 | 2013-10-13 08:52 | 只看该作者
哪位兄弟遇到过这种情况,帮我解答一下!

使用特权

评论回复
5
win2000_li|  楼主 | 2013-10-13 10:38 | 只看该作者
我把程序里的中断enableInterrupts();代码屏蔽掉,程序可以正常转化了。为什么和中断有关呢???

使用特权

评论回复
6
win2000_li|  楼主 | 2013-10-13 10:47 | 只看该作者
终于找到问题了,是IO中断打开造成的了。

使用特权

评论回复
7
youluo235| | 2013-10-13 16:51 | 只看该作者
学习了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

142

主题

718

帖子

1

粉丝