标题: STM8S ADC连续采集源程序 [打印本页]

作者: 自由自在    时间: 2019-6-19 15:09
标题: STM8S ADC连续采集源程序
#include"stm8s.h"

void Init_ADC1()
{
   ADC1_Init( ADC1_CONVERSIONMODE_CONTINUOUS , //配置ADC1工作在连续转换模式
             ADC1_CHANNEL_2 ,   //选择通道2
             ADC1_PRESSEL_FCPU_D18,  //ADC的工作频率进行系统时钟的18分频
             ADC1_EXTTRIG_GPIO ,     //不使能外部触发产生采样
             DISABLE ,
             ADC1_ALIGN_RIGHT ,      //采样数据进行右对齐输出
             ADC1_SCHMITTTRIG_CHANNEL2 ,   //不使能通道施密特
             DISABLE
             );

   ADC1_Cmd(ENABLE);  //使能ADC1模块

   ADC1_ITConfig(ADC1_IT_EOCIE , ENABLE);  //配置ADC1采样数据结束时产生中断

   ADC1_StartConversion();    //使ADC开始转换数据
}



void USART_Init()
{
  UART1_Init(9600 ,   //配置串口通讯的波特率为9600
             UART1_WORDLENGTH_8D ,   //配置串口为8位数据通讯
             UART1_STOPBITS_1,       //配置串口通讯产生1个停止位
             UART1_PARITY_NO ,       //配置串口为无校验
             UART1_SYNCMODE_CLOCK_DISABLE , //配置串口为无流控制
             UART1_MODE_TX_ENABLE);       //使能串口为发送数据模式


  UART1_Cmd(ENABLE);    //对串口使能
}

void UART_Send(u8 data)
{
  while(UART1_GetFlagStatus(UART1_FLAG_TXE) == RESET);
  UART1_SendData8(data);
}
void  Delay(u16 ms)
{
  u16 x , y;

  for(y = ms ; y > 0 ;y--)
   for(x = 16000 ; x > 0 ; x--);
}
int main()
{
  disableInterrupts();
  CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1); //配置系统时钟为1分频,即16MHZ
  USART_Init();
  Init_ADC1();
  enableInterrupts();
  while(1)
  {
  }
}

完整代码请下载附件
ADC连续采样_基于中断.7z (643.42 KB, 下载次数: 54)





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1