研究生
最后登录1970-1-1
在线时间 小时
注册时间2013-12-12
|
我就用了两个io模拟了一下时序,不知道对不对,- #include "CCD.h"
- void CCD_GPIO_Init(void)
- {
- GPIO_InitTypeDef GPIO_InitStruct;
- /** Configure pins as
- * Analog
- * Input
- * Output
- * EVENT_OUT
- * EXTI
- */
- /*Enable or disable APB2 peripheral clock */
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
- /*Configure GPIO pin : PC */
- GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3;
- GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOC, &GPIO_InitStruct);
- }
- void CCD_delay( uint16_t time )
- {
- volatile uint16_t i = time;
- while(i--);
- }
- /*/ GPIO_SetBits(GPIOB,GPIO_Pin_0) ¸ßµçƽ
- GPIO_ResetBits(GPIOB,GPIO_Pin_0)µÍµçƽ*/
- void CCD_init(void)
- {
- uint16_t i;
- CCD_GPIO_Init();//³õʼ»¯CLK SIΪÊä³ö
- GPIO_ResetBits(GPIOC,GPIO_Pin_2);//CLK = 0
- CCD_delay(10);//10NS
- GPIO_SetBits(GPIOC,GPIO_Pin_3);//SI = 1
- CCD_delay(10);//10NS
- GPIO_SetBits(GPIOC,GPIO_Pin_2);//CLK = 1
- CCD_delay(10);//10NS
- GPIO_ResetBits(GPIOC,GPIO_Pin_3);//SI = 0
- CCD_delay(10);//10NS
- for(i=0;i<128;i++)
- {
- GPIO_ResetBits(GPIOC,GPIO_Pin_2);//CLK = 0
- CCD_delay(10);//10NS
- GPIO_SetBits(GPIOC,GPIO_Pin_2);//CLK = 1
- CCD_delay(10);//10NS
- }
- }
复制代码 |
|