[STM8] 一直采集不到数据

[复制链接]
 楼主| llljh 发表于 2016-10-30 19:15 | 显示全部楼层 |阅读模式
硬件转过来学习STM8L,自己写了个ADC采集程序,结果一直采集不到数据
chenjunt 发表于 2016-10-30 19:19 | 显示全部楼层
楼主详细说说怎么回事啊,这么说太笼统了
morrisk 发表于 2016-10-30 19:21 | 显示全部楼层
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
 楼主| llljh 发表于 2016-10-30 19:23 | 显示全部楼层

#include "stm8l151g4.h"
#include "led_init.h"
#include "adc_init.h"
typedef   unsigned short    uint16_t;

main()
{
  uint16_t Value;//unsigned int Value;
  int i;
  adc_init();
  while (1)
      {
        Value = 0;
        ADC1_CR1 |=0x01;/*turn on ADC again*/
        i = 10;
        while(i--);
        while(!(0x01&ADC1_SR));// 是否转换完成
        ADC1_SR=0xFE;     // 转换完成,软件清零
        Value = (uint16_t)ADC1_DRH;//(unsigned int)ADC1_DRH;
        Value = Value<<8;
        Value =((uint16_t)Value|ADC1_DRL);
                                                        
                        
      }
}

#include "adc_init.h"


void adc_init(void)
{

        
        PD_DDR=0X00;        /* 0:Input mode */
        PD_CR1=0X00;        /* 0: Floating input */
        PD_CR2=0X00;        /* 0: External interrupt disabled */
        CLK_PCKENR2|=0x01;  /* open Peripheral ADC clk */
        
        
        ADC1_CR1 = 0x00;    /* 0x00:turn off ADC ,12 bit resolution */
        ADC1_CR2 = 0x00;   
        ADC1_SR|= 0x00;     /* Conversion not complete */
        
        
        ADC1_SQR1=0x80;     /* turn off DMA */
        ADC1_SQR2|=0x04;     /* select 19 channel */
        ADC1_TRIGR1|=0X10;  /* turn on  Internal reference voltage */
        ADC1_TRIGR2|=0X10;  /* schmitt trigger 19 disable */
        ADC1_CR1 |=0x01;    /* turn on ADC */
        
}
chuxh 发表于 2016-10-30 19:25 | 显示全部楼层
建议参考官方例程先。
 楼主| llljh 发表于 2016-10-30 19:27 | 显示全部楼层
搞定了,呵呵,犯了低级错误……结贴啦,多谢各位
您需要登录后才可以回帖 登录 | 注册

本版积分规则

855

主题

11301

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部

855

主题

11301

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部