(PS: 之前一直使用官方的例程,很复杂,有很多根本用不上的,用起来不太方便;便请教大神CCD的驱动程序,大神讲了一遍,还帮忙写了程序框架;作为一个小白,深知没人指导的困惑,想写下来,希望可以对看到的人有所帮助,开始正文。)
(这是官方datasheet的CCD驱动时序图)
1 程序思想
在SI为高电平,CLK信号的上升沿, AO开始采集像素点,接着,SI置为低电平,每来一个CLK时钟信号,AO采集一个像素点,直到采集完128个像素点。
程序正文 (因为本人使用的芯片是 K60 用的山外的库 如果不一样 请自行参考移植)
// 初始化引脚
gpio_init(SI,GPO,0); //SI,CLK,AO 的引脚号自行给定,这里直接使用名字
gpio_init(CLK,GPO,0);
adc_init(AO); // AO 所在的AD通道的管脚号