全功能智能车之CCD液晶显示定时器触发ADC 触发DMA传输(CCD补充篇)(第十六篇)

来源:互联网 发布:歌词编辑软件 编辑:程序博客网 时间:2024/05/16 18:00

该篇文章是继承于CCD终结篇的补充,就是做一件事,就是把原来发送给串口的图像数据放到液晶上显示,其他没有任何的改变

主函数如下:

int main(void){u16 i,cnt;  Stm32_Clock_Init(9);//系统时钟设置uart_init(72,115200); //串口初始化为115200delay_init(72);    //延时初始化 LED_Init();  //初始化与LED连接的硬件接口 LCD_Init();   //初始化LCDusmart_dev.init(72);//初始化USMARTCCD_init();          //初始化CCD//初始化数据  for(i=0; i<CCD_LENGTH; i++) {    Pixel[i]=0;  }POINT_COLOR=RED;//设置字体为红色 LCD_ShowString(20,10,200,16,16,"Maid:piaoran QQ:384710930");LCD_ShowString(20,30,200,16,16,"x:0000 n:0000 a:0000 e:0000");    //ccd_max ccd_min exp_tim ccd_avg//VerifyExposure();while(1){ImageCapture(Pixel);while(!ccd_finish);if(++cnt >= 5) {cnt = 0;//SendImageData(Pixel);LcdShowData(Pixel);}//LCD_Put32REG(0,130,"DMA->CNDTR:",DMA1_Channel1->CNDTR); LED0=!LED0;delay_ms(500);}}

其中的把数据放到液晶上的函数如下:

/**************************************************************************  函数名称:LcdShowData*  功能说明:把数据结果显示到液晶上*  参数说明:*  函数返回:无*  修改时间:2015-11-28×  作者:piaoran  QQ:384710930*  备    注:LcdShowData(Pixel);*************************************************************************/void LcdShowData(unsigned short * ImageData) {  unsigned char i,temp;LCD_Fill(0,122,239,250,(u16)~BROWN);  //0x00代表最暗,0xfe代表最亮 而采集回来的是12位的ADC值    for(i=0; i<CCD_LENGTH; i++) {if(i<4 || i>124){ImageData++;continue;}temp=(u8)(*ImageData>>5);POINT_COLOR=BROWN;LCD_DrawPoint(2*(i-4),250-temp-1);LCD_DrawPoint(2*(i-4),250-temp+1);LCD_DrawPoint(2*(i-4),250-temp);LCD_DrawPoint(2*(i-4)+1,250-temp-1);LCD_DrawPoint(2*(i-4)+1,250-temp+1);LCD_DrawPoint(2*(i-4)+1,250-temp);ImageData++;    }}

好了,代码到此,现在来看看实验图片效果:




源代码如下:
http://download.csdn.net/detail/chengdong1314/9311897

0 0
原创粉丝点击