久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: stm32 關于0v7670的源程序 [打印本頁]

作者: HDHHED    時間: 2017-8-7 22:10
標題: stm32 關于0v7670的源程序
    SCCB_SDA=0;
    delay_us(50);         
    SCCB_SCL=0;            //數據線恢復低電平,單操作函數必要          
}

//SCCB停止信號
//當時鐘為高的時候,數據線的低到高,為SCCB停止信號
//空閑狀況下,SDA,SCL均為高電平
void SCCB_Stop(void)
{
    SCCB_SDA=0;
    delay_us(50);         
    SCCB_SCL=1;       
    delay_us(50);
    SCCB_SDA=1;       
    delay_us(50);
}  
//產生NA信號
void SCCB_No_Ack(void)
{
        delay_us(50);
        SCCB_SDA=1;       
        SCCB_SCL=1;       
        delay_us(50);
        SCCB_SCL=0;       
        delay_us(50);
        SCCB_SDA=0;       
        delay_us(50);
}
//SCCB,寫入一個字節
//返回值:0,成功;1,失敗.
u8 SCCB_WR_Byte(u8 dat)
{
        u8 j,res;         
        for(j=0;j<8;j++) //循環8次發送數據
        {
                if(dat&0x80)SCCB_SDA=1;       
                else SCCB_SDA=0;
                dat<<=1;
                delay_us(50);
                SCCB_SCL=1;       
                delay_us(50);
                SCCB_SCL=0;                  
        }                         
        SCCB_SDA_IN();                //設置SDA為輸入
        delay_us(50);
        SCCB_SCL=1;                        //接收第九位,以判斷是否發送成功
        delay_us(50);
        if(SCCB_READ_SDA)res=1;  //SDA=1發送失敗,返回1
        else res=0;         //SDA=0發送成功,返回0
        SCCB_SCL=0;                 
        SCCB_SDA_OUT();                //設置SDA為輸出   
        return res;  
}         
//SCCB 讀取一個字節
//在SCL的上升沿,數據鎖存
//返回值:讀到的數據
u8 SCCB_RD_Byte(void)
{
        u8 temp=0,j;   
        SCCB_SDA_IN();                //設置SDA為輸入  
        for(j=8;j>0;j--)         //循環8次接收數據
        {                               
                delay_us(50);
                SCCB_SCL=1;
                temp=temp<<1;
                if(SCCB_READ_SDA)temp++;   
                delay_us(50);
                SCCB_SCL=0;
        }       
        SCCB_SDA_OUT();                //設置SDA為輸出   
        return temp;
}                                                             
//寫寄存器
//返回值:0,成功;1,失敗.
u8 SCCB_WR_Reg(u8 reg,u8 data)
{
        u8 res=0;
        SCCB_Start();                                         //啟動SCCB傳輸
        if(SCCB_WR_Byte(SCCB_ID))res=1;        //寫器件ID          
        delay_us(100);
          if(SCCB_WR_Byte(reg))res=1;                //寫寄存器地址          
        delay_us(100);
          if(SCCB_WR_Byte(data))res=1;         //寫數據         
          SCCB_Stop();          
          return        res;
}                                                              
//讀寄存器
//返回值:讀到的寄存器值
u8 SCCB_RD_Reg(u8 reg)
{
        u8 val=0;
        SCCB_Start();                                 //啟動SCCB傳輸
        SCCB_WR_Byte(SCCB_ID);                //寫器件ID          
        delay_us(100);         
          SCCB_WR_Byte(reg);                        //寫寄存器地址          
        delay_us(100);          
        SCCB_Stop();   
        delay_us(100);          
        //設置寄存器地址后,才是讀
        SCCB_Start();
        SCCB_WR_Byte(SCCB_ID|0X01);        //發送讀命令          
        delay_us(100);
          val=SCCB_RD_Byte();                         //讀取數據
          SCCB_No_Ack();
          SCCB_Stop();
          return val;
}





















歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 九九久久精品 | 国产一区二区精品在线观看 | 一道本在线| 亚洲成人av在线播放 | 日本精品视频 | 欧美一级三级 | 久久国产精品-国产精品 | 国产一区二区精品自拍 | 国产激情91久久精品导航 | 97超碰人人| 欧洲精品在线观看 | 日韩一区和二区 | 亚洲欧美日韩一区二区 | 国产丝袜一区二区三区免费视频 | 99精品欧美 | 久久99精品久久 | 不卡一二三区 | 国产成人综合网 | 亚洲区一区二 | 亚洲精品在线免费播放 | 国产区精品 | 国产四区| 亚洲视频中文字幕 | 国产欧美一区二区三区在线看蜜臀 | 日韩免费视频一区二区 | 久久久2o19精品 | 久久精品久久久久久 | 亚洲精品v日韩精品 | 国产一区二区三区在线免费观看 | 高清18麻豆 | 国产成人在线播放 | 国产高潮好爽受不了了夜色 | 精品三区 | 免费福利视频一区二区三区 | 欧美综合国产精品久久丁香 | www.精品国产| 成人在线视频网站 | 日韩一区二区福利 | 午夜爽爽爽男女免费观看影院 | 国产视频久久久 | 精品欧美乱码久久久久久1区2区 |