S3C6410开发之ADC(三)

来源:互联网 发布:怎么提高编程能力 编辑:程序博客网 时间:2024/06/07 15:43

S3C6410开发之ADC--中断方式代码实现

初始化ADC

void adc_init(void){        ADCCON = (1 << 16) | (1 << 14) | (21 << 6);        ADCDLY = 0xffff;}


启动ADC

void adc_start(void){        ADCCON |= 1;}


获得ADC结果

int get_adc(void){        return ADCDAT0 & 0xfff;}


ADC转换结束中断处理函数

void __attribute__((interrupt("IRQ"))) do_adc(void){        printf("adc:%d\n", get_adc());        ADCCLRINT = 1;        clear_irq();}

为ADC挂起中断处理函数,并使能本地中断

void adc_int_init(void){        adc_init();        request_irq(63, do_adc);        local_irq_enable();}

注意:在这里只是写出了跟ADC相关的代码,完整的代码请到我的资源里下载


原创粉丝点击