#define START_ADC_AIN(ch, prescale) \ do{ \ ADCCON = PRESCALE_EN | PRSCVL(prescale) | ADC_INPUT((ch)) ; \ ADCCON |= ADC_START; \ }while(0)
这个宏,设置装换速率,设置转换通道,并开始ad转换6 . 中断处理例程
static irqreturn_t adcdone_int_handler(int irq, void *dev_id) { if (OwnADC) { adc_data = ADCDAT0 & 0x3ff; //如果现在拥有设备,读取转换结果 ev_adc = 1; //设置等待条件为真 wake_up_interruptible(&adcdev.wait); //唤醒等待的进程 } return IRQ_HANDLED; }
7. 其他release 函数什么也没有做,只是通知设备关闭了
模块卸载函数,释放掉中断线,注销设备