#include"stm8s.h"
void Init_ADC1()
{
ADC1_Init( ADC1_CONVERSIONMODE_CONTINUOUS , //配置ADC1工作在連續(xù)轉(zhuǎn)換模式
ADC1_CHANNEL_2 , //選擇通道2
ADC1_PRESSEL_FCPU_D18, //ADC的工作頻率進(jìn)行系統(tǒng)時(shí)鐘的18分頻
ADC1_EXTTRIG_GPIO , //不使能外部觸發(fā)產(chǎn)生采樣
DISABLE ,
ADC1_ALIGN_RIGHT , //采樣數(shù)據(jù)進(jìn)行右對(duì)齊輸出
ADC1_SCHMITTTRIG_CHANNEL2 , //不使能通道施密特
DISABLE
);
ADC1_Cmd(ENABLE); //使能ADC1模塊
ADC1_ITConfig(ADC1_IT_EOCIE , ENABLE); //配置ADC1采樣數(shù)據(jù)結(jié)束時(shí)產(chǎn)生中斷
ADC1_StartConversion(); //使ADC開(kāi)始轉(zhuǎn)換數(shù)據(jù)
}
void USART_Init()
{
UART1_Init(9600 , //配置串口通訊的波特率為9600
UART1_WORDLENGTH_8D , //配置串口為8位數(shù)據(jù)通訊
UART1_STOPBITS_1, //配置串口通訊產(chǎn)生1個(gè)停止位
UART1_PARITY_NO , //配置串口為無(wú)校驗(yàn)
UART1_SYNCMODE_CLOCK_DISABLE , //配置串口為無(wú)流控制
UART1_MODE_TX_ENABLE); //使能串口為發(fā)送數(shù)據(jù)模式
UART1_Cmd(ENABLE); //對(duì)串口使能
}
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); //配置系統(tǒng)時(shí)鐘為1分頻,即16MHZ
USART_Init();
Init_ADC1();
enableInterrupts();
while(1)
{
}
}
完整代碼請(qǐng)下載附件
ADC連續(xù)采樣_基于中斷.7z
(643.42 KB, 下載次數(shù): 54)
2019-6-20 03:06 上傳
點(diǎn)擊文件名下載附件
|