跨届大侠
- 积分
- 6478
- 威望
- 4794
- 贡献
- 648
- 兑换币
- 1264
- 注册时间
- 2014-3-19
- 在线时间
- 518 小时
|
zhou1994 发表于 2014-5-4 15:42
程序的曝光时间减少
void ccd_init(){ gpio_init (PORTA, 13, 1, 0); //CLC gpio_init (PORTA, 11, 1, 0); //SI adc_init(ADC1,AD13); }u16 ad_once(ADCn adcn, ADC_Ch ch, ADC_nbit bit) //采集某路模拟量的AD值{ u16 result = 0; ASSERT( ((adcn == ADC0) && (ch >= AD8 && ch <= AD18)) || ((adcn == ADC1) && (ch >= AD4a && ch <= AD17)) ) ; //使用断言检测ADCn_CHn是否正常
adc_start(adcn, ch, bit); //启动ADC转换
while (( ADC_SC1_REG(ADCx[adcn], 0 ) & ADC_SC1_COCO_MASK ) != ADC_SC1_COCO_MASK); result = ADC_R_REG(ADCx[adcn], 0); ADC_SC1_REG(ADCx[adcn], 0) &= ~ADC_SC1_COCO_MASK; return result;}
void ccd_data(u8 adcs[128])
{
u8 i;
gpio_set(PORTA,13,1);//起始电平高
gpio_set(PORTA,11,0);//起始电平低
asm("nop"); //合理的延时
gpio_set(PORTA,11,1); //上升沿
gpio_set(PORTA,13,0);//下降沿
asm("nop"); //合理延时
gpio_set(PORTA,13,1);//上升沿
gpio_set(PORTA,11,0);//下降沿
asm("nop"); //合理延时
for(i=0;i<128;i++)
{
gpio_set(PORTA,13,0);//下降沿
asm("nop"); //合理延时
adcs=ad_once (ADC1, AD13, ADC_8bit); //AD采集
gpio_set(PORTA,13,1);//上升沿
asm("nop"); //合理延时
}
adcs='\0';
}
这是库函数和我写的简单采集函数,,,你麻烦班忙看一下 ,,,需要在哪里改进。。谢谢拉啊
|
|