智能车制作
标题:
K60的CCD程序移植到STM32上只有0和FF
[打印本页]
作者:
mrzhaoly
时间:
2016-9-13 08:33
标题:
K60的CCD程序移植到STM32上只有0和FF
图片为用蓝宙的上位机显示数据。下面附上主要程序,程序也是蓝宙的STM32程序,麻烦大家帮忙看一下 谢谢~(CCD没坏,用K60的程序显示正常)
int main(void)
{
u8 i;
u8 send_data_cnt = 0;
u8 *pixel_pt;
delay_init(); //Ñóê±oˉêy3õê¼»ˉ
NVIC_Configuration(); //éèÖÃNVICÖD¶Ï·Ö×é2:2λÇàÕ¼óÅÏ輶£¬2λÏìó|óÅÏ輶
uart_init(115200); //′®¿ú3õê¼»ˉÎa9600
LED_Init(); //LED¶Ë¿ú3õê¼»ˉ
TIM3_Int_Init(4999,55);//10KhzμļÆêyÆμÂ꣬¼Æêyμ½5000Îa5ms
LandzoCCD_init(); // CCD3õê¼»ˉ
pixel_pt = Pixel;
for(i=0; i<128+10; i++)
{
*pixel_pt++ = 0;
}
while(1)
{
if(TIME0flag_5ms == 1)
{
TIME0flag_5ms = 0 ;
ImageCapture(Pixel); //CCD2éÑù Sampling CCD data
if(++send_data_cnt >= 5) //′®¿ú·¢Ëíêy¾Y Send data to CCDView every 100ms
{
send_data_cnt = 0;
SendImageData(Pixel);
}
}
LED0 = ~LED0;
}
复制代码
void ImageCapture(uint8_t * ImageData) {
uint8_t i;
extern uint8_t AtemP ;
SI_SetVal(); /* SI = 1 */
delay_us(20);
CLK_SetVal(); /* CLK = 1 */
delay_us(20);
SI_ClrVal(); /* SI = 0 */
delay_us(30);
//Delay 10us for sample the first pixel
for(i = 0; i < 200; i++) { //¸ü¸Ä250£¬èÃCCDμÄí¼Ïñ¿′éÏ襱è½Ïƽ»¬£¬
SamplingDelay(); //200ns //°Ñ¸ÃÖμ¸Ä′ó»òÕ߸ÄD¡′ïμ½×Ô¼oÂúòaμĽá1û¡£
}
//Sampling Pixel 1
*ImageData = Get_Adc(ADC_Channel_1)>>4;
ImageData ++ ;
CLK_ClrVal(); /* CLK = 0 */
for(i=0; i<127; i++) {
delay_us(30);
CLK_SetVal(); /* CLK = 1 */
delay_us(30);
//Sampling Pixel 2~128
*ImageData = Get_Adc(ADC_Channel_1)>>4;
ImageData ++ ;
CLK_ClrVal(); /* CLK = 0 */
}
delay_us(30);
CLK_SetVal(); /* CLK = 1 */
delay_us(30);
CLK_ClrVal(); /* CLK = 0 */
复制代码
作者:
mrzhaoly
时间:
2016-9-13 08:34
直接从KEIL上COPY的代码注释有乱码 。。。看起来稍微乱一点
作者:
mrzhaoly
时间:
2016-9-13 09:17
这张图片是同样的传感器在K60运行蓝宙例程的效果
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2