OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3994|回复: 1

新手小白求助 关于F407 CCD模块

[复制链接]

2

主题

2

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2018-10-17
在线时间
1 小时
发表于 2018-10-17 21:36:43 | 显示全部楼层 |阅读模式
1金钱
求助,这样连上去不管CCD前面黑白的,LCD没变化。。手里有TSL1401LQ_1401M
其他的都是参考程序里面的,没改过。
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "lcd.h"
#include "adc.h"
#include "stdio.h"
#define CCD_CLK PAout(6)// PA3
#define CCD_SI  PAout(4)// PA4
void CCD_reader(u16 *p);
void CCD_init(void);
void CCD_display(u16 *p);
void CCD_send(u16 *p);

//ALIENTEK ̽Ë÷ÕßSTM32F407¿ª·¢°å ʵÑé18
//ADCÄ£Êýת»»ÊµÑé-¿âº¯Êý°æ±¾  
//¼¼ÊõÖ§³Ö£ºwww.openedv.com
//ÌÔ±¦µêÆÌ£ºhttp://eboard.taobao.com  
//¹ãÖÝÊÐÐÇÒíµç×ӿƼ¼ÓÐÏÞ¹«Ë¾  
//×÷ÕߣºÕýµãÔ­×Ó @ALIENTEK

int main(void)
{
u16 p[128];
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//ÉèÖÃϵͳÖжÏÓÅÏȼ¶·Ö×é2
delay_init(168);    //³õʼ»¯ÑÓʱº¯Êý
uart_init(115200); //³õʼ»¯´®¿Ú²¨ÌØÂÊΪ115200
LED_Init();     //³õʼ»¯LED
  LCD_Init();         //³õʼ»¯LCD½Ó¿Ú
Adc_Init();         //³õʼ»¯ADC

CCD_init();

POINT_COLOR=RED;
LCD_ShowString(30,50,200,16,16,"Explorer STM32F4");
LCD_ShowString(30,70,200,16,16,"ADC TEST");
LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(30,110,200,16,16,"2018/10/17");   
POINT_COLOR=BLUE;//ÉèÖÃ×ÖÌåΪÀ¶É«
LCD_ShowString(30,130,200,16,16,"ADC1_CH5_VAL:");      
LCD_ShowString(30,150,200,16,16,"ADC1_CH5_VOL:0.000V"); //ÏÈÔڹ̶¨Î»ÖÃÏÔʾСÊýµã      


while(1)
{
  CCD_reader(p);
  CCD_send(p);
  CCD_display(p);
  LED0=!LED0;
}
}
void CCD_reader(u16 *p)
{
  u8 i;
CCD_CLK = 0;
CCD_SI  = 1;
delay_us(1);
CCD_CLK = 1;
CCD_SI  = 0;
delay_us(1);
for(i=0;i<128;i++)
{
  CCD_CLK = 0;            
  *p++ = Get_Adc(ADC_Channel_0);
  CCD_CLK = 1;
  delay_us(1);
}
}
void CCD_init(void)
{
  GPIO_InitTypeDef  GPIO_InitStructure;
   
  RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOA, ENABLE);  //&Ecirc;&sup1;&Auml;&UumlA&para;&Euml;&iquest;&Uacute;&Ecirc;±&Ouml;&Oacute;
   
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4;     //&para;&Euml;&iquest;&Uacute;&Aring;&auml;&Ouml;&Atilde;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;   
  GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  GPIO_SetBits(GPIOA,GPIO_Pin_3 | GPIO_Pin_4);
}

void CCD_display(u16 *p)
{
int i;
  for(i=127;i>=0;i--)
{
  if(p>200)
  {
   POINT_COLOR=BLUE;
   LCD_DrawLine(90+i, 330, 90+i, 350);
  }
  else
  {
   POINT_COLOR=RED;
   LCD_DrawLine(90+i, 330, 90+i, 350);
  }
}
}
void CCD_send(u16 *p)
{ u8 i;
  putchar('T');
for(i=0;i<128;i++)
{
  putchar(p>>8);  //·&cent;&Euml;&Iacute;&cedil;&szlig;°&Euml;&Icirc;&raquo;
  putchar(p&0x00FF); //·&cent;&Euml;&Iacute;&micro;&Iacute;°&Euml;&Icirc;&raquo;
}
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-10-18 02:05:07 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 19:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表