亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? iic.c

?? 在NIOS中利用C語言模擬I2C總線時序
?? C
字號:
#include"string.h"
#include <stdio.h>
#include <unistd.h>
#include "altera_avalon_pio_regs.h"
#include "system.h" 
#include "time.h" 
#define DELAY_TIME 10000 
#define Set_SDA  IOWR_ALTERA_AVALON_PIO_DATA(SDA_BASE, 0x1)
#define Clr_SDA  IOWR_ALTERA_AVALON_PIO_DATA(SDA_BASE, 0x0)
#define Set_SCL  IOWR_ALTERA_AVALON_PIO_DATA(SCL_BASE, 0x1)
#define Clr_SCL  IOWR_ALTERA_AVALON_PIO_DATA(SCL_BASE, 0x0)

void I2C_Start(void)
{ /*
      SDA -------_________
      SCL ------------____
*/
  //????
  IOWR_ALTERA_AVALON_PIO_DIRECTION(SDA_BASE, 0x1);
  IOWR_ALTERA_AVALON_PIO_DIRECTION(SCL_BASE, 0x1);  
  //SDA = 1
  //SCL = 1
  Set_SDA;
  Set_SCL;        
  usleep(DELAY_TIME);  
  //SDA = 0
  //SCL = 1
  Clr_SDA;       
  usleep(DELAY_TIME);  
  //SDA = 0
  //SCL = 0 
  Clr_SCL;        
  usleep(DELAY_TIME);
}

void I2C_Stop(void)
{ /*
      SDA _________--------
      SCL ____-------------
*/
  //????  
  IOWR_ALTERA_AVALON_PIO_DIRECTION(SDA_BASE, 0x1);
  IOWR_ALTERA_AVALON_PIO_DIRECTION(SCL_BASE, 0x1);      
  //SDA = 0 
  //SCL = 0 
  Clr_SDA;  
  Clr_SCL;     
  usleep(DELAY_TIME);  
  //SDA = 0
  //SCL = 1
  Clr_SDA;
  Set_SCL;           
  usleep(DELAY_TIME);   
  //SDA = 1
  //SCL = 1
  Set_SDA;
  usleep(DELAY_TIME); 
}
 
void I2C_Ack(void)//?????
{  IOWR_ALTERA_AVALON_PIO_DIRECTION(SDA_BASE, 0x1);
  IOWR_ALTERA_AVALON_PIO_DIRECTION(SCL_BASE, 0x1);
  Clr_SDA;  
  usleep(DELAY_TIME);
  Set_SCL;
  usleep(DELAY_TIME);
  //while(IORD_ALTERA_AVALON_PIO_DATA(SDA_BASE)){;};
  Clr_SCL;
  usleep(DELAY_TIME);
}
void Check_Ack(void)
{ char a=1;
  // SDA = "Z"
  // SCL = 0
  IOWR_ALTERA_AVALON_PIO_DIRECTION(SDA_BASE, 0x0);
  //IOWR_ALTERA_AVALON_PIO_DIRECTION(SCL_BASE, 0x1);  
  Clr_SCL;  
  usleep(DELAY_TIME);   
  // SCL = 1
  Set_SCL;
  usleep(DELAY_TIME);
  while(a)
   {
     a=IORD_ALTERA_AVALON_PIO_DATA(SDA_BASE);
     usleep(DELAY_TIME);
     printf("waiting ACK a is %d\n",a);
   }  
  usleep(DELAY_TIME);//
  printf("detected ACK\n");   
  Clr_SCL;  
  usleep(DELAY_TIME);  
}

void I2C_Nack(void)//?????
{ IOWR_ALTERA_AVALON_PIO_DIRECTION(SDA_BASE, 0x1);
  IOWR_ALTERA_AVALON_PIO_DIRECTION(SCL_BASE, 0x1); 
  Set_SDA;
  usleep(DELAY_TIME); 
  Set_SCL;
  usleep(DELAY_TIME); 
  Clr_SCL;
  usleep(DELAY_TIME); 
}

void I2C_Send_Byte(char d)
{   
unsigned char i = 8; 
IOWR_ALTERA_AVALON_PIO_DIRECTION(SDA_BASE, 0x1);
IOWR_ALTERA_AVALON_PIO_DIRECTION(SCL_BASE, 0x1);
usleep(DELAY_TIME); 

/*
                    MSB
    SDA  ______-------------__________
  
    SCL  _________-------_____________
 
 */
 
   Clr_SDA;
   Clr_SCL;
   usleep(DELAY_TIME);
 
while( i-- )
  {
 
    if (d&0x80) 
        Set_SDA;   
    else 
        Clr_SDA;    
    usleep(DELAY_TIME);     
    
       Set_SCL;   
    usleep(DELAY_TIME);     
       Clr_SCL;   
    usleep(DELAY_TIME); 
    
    //SCL = 0
    //SDA = 0
      Clr_SDA;
      Clr_SCL;
    usleep(DELAY_TIME); 
    
    d = d << 1;
   }
usleep(DELAY_TIME);

}


unsigned char I2C_Receive_Byte(void)
{
unsigned char rn = 8, data=0,rr=0x80;
IOWR_ALTERA_AVALON_PIO_DIRECTION(SDA_BASE, 0x0);
IOWR_ALTERA_AVALON_PIO_DIRECTION(SCL_BASE, 0x1);
usleep(DELAY_TIME);
for(;rn!=0;rn--)
{
Set_SCL;
usleep(DELAY_TIME);
if (IORD_ALTERA_AVALON_PIO_DATA(SDA_BASE)) 
data|=rr;
//printf("IORD_ALTERA_AVALON_PIO_DATA",IORD_ALTERA_AVALON_PIO_DATA(SDA_BASE));
else
data&=~rr;
rr>>=1;
 Clr_SCL;
usleep(DELAY_TIME);
}
//printf("I2C_Receive_Byte is %x\n",data);
return data;
}

void AT24C16_W(unsigned char address, unsigned char ddata )
{
I2C_Start();
I2C_Send_Byte(0xa0);
Check_Ack();
I2C_Send_Byte(address);
Check_Ack();
I2C_Send_Byte(ddata);
Check_Ack();
//printf("write data\n");
I2C_Stop();
usleep(50000);
}

unsigned char AT24C16_R(unsigned char address)
{
unsigned char rdata;

I2C_Start();
I2C_Send_Byte( 0xa0 );
Check_Ack();
I2C_Send_Byte( address );
Check_Ack();
I2C_Start();
I2C_Send_Byte( 0xa1 );
Check_Ack();
rdata=I2C_Receive_Byte();
I2C_Nack();
I2C_Stop();
return rdata;
}
int main()
{volatile char data;  
 AT24C16_W(0x02,0x88);
 AT24C16_W(0x05,0x9b);
 usleep(100000);
 data=AT24C16_R(0x02);
 printf("%x\n",data);
 data=AT24C16_R(0x05);
 printf("%x\n",data);
 
 
}
 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av国产精品久久久久| 精品一区免费av| 精品国产乱码久久久久久久| 99视频国产精品| 婷婷综合五月天| 国产精品国产自产拍在线| 69精品人人人人| 在线视频观看一区| 粉嫩av一区二区三区粉嫩| 免费看日韩精品| 亚洲va欧美va人人爽| 亚洲欧美国产毛片在线| 久久久久久一二三区| 日韩小视频在线观看专区| 91久久线看在观草草青青 | 国产乱码精品一区二区三区忘忧草| 亚洲少妇30p| 国产欧美日韩久久| 久久久五月婷婷| 日韩精品一区二区三区三区免费| 欧美主播一区二区三区| 不卡高清视频专区| 日韩欧美中文字幕制服| 欧美性感一类影片在线播放| 成人av影院在线| 丁香六月久久综合狠狠色| 精品一区二区成人精品| 视频在线观看国产精品| 午夜视频在线观看一区二区三区| 亚洲九九爱视频| 亚洲精品乱码久久久久久日本蜜臀| 中文字幕精品在线不卡| 久久久久久久久久久久电影| 欧美成人免费网站| 欧美v日韩v国产v| 欧美不卡视频一区| 精品奇米国产一区二区三区| 日韩天堂在线观看| 精品日韩欧美一区二区| 日韩精品最新网址| 精品国产伦一区二区三区观看体验| 日韩限制级电影在线观看| 精品国产一区二区三区久久久蜜月 | 欧美精品亚洲一区二区在线播放| 一本色道a无线码一区v| 99re这里只有精品视频首页| av一二三不卡影片| 色婷婷久久一区二区三区麻豆| 91一区二区在线观看| 91国在线观看| 欧美日韩国产一级| 亚洲午夜电影在线| 亚洲第一狼人社区| 另类的小说在线视频另类成人小视频在线 | 色综合久久久久网| 欧美色图激情小说| 91精品国产91久久久久久最新毛片| 在线电影欧美成精品| 91精品久久久久久久99蜜桃| 精品国产免费一区二区三区香蕉| 久久久久9999亚洲精品| 国产精品女同互慰在线看| 亚洲精品你懂的| 日日摸夜夜添夜夜添精品视频 | 色成人在线视频| 欧美日韩国产高清一区二区| 欧美人xxxx| 精品国产免费视频| 国产精品福利电影一区二区三区四区 | 欧美肥妇free| 久久综合色鬼综合色| 欧美极品xxx| 亚洲国产欧美在线| 韩国成人福利片在线播放| 成人av在线一区二区三区| 欧美在线free| 日韩精品综合一本久道在线视频| 国产精品久久久久久久久动漫| 一区二区欧美视频| 国产在线看一区| 色综合激情久久| 香蕉加勒比综合久久| 国产一区日韩二区欧美三区| 91精品福利视频| 亚洲精品在线网站| 一区二区三区四区视频精品免费 | 91麻豆国产福利精品| 欧美一级久久久久久久大片| 国产欧美日韩在线观看| 婷婷夜色潮精品综合在线| 国产成人免费在线观看不卡| 欧美日韩不卡在线| 国产日韩视频一区二区三区| 午夜电影一区二区| 99久久婷婷国产综合精品电影 | 亚洲一区在线观看视频| 国产一区二区三区av电影| 欧美系列亚洲系列| 国产精品女同一区二区三区| 久久精品国产精品亚洲综合| 91国模大尺度私拍在线视频| 久久夜色精品一区| 五月婷婷激情综合| 91污片在线观看| 国产午夜精品久久久久久久| 天天色图综合网| 色伊人久久综合中文字幕| 国产人久久人人人人爽| 麻豆国产精品一区二区三区 | av男人天堂一区| 久久久国际精品| 蜜桃免费网站一区二区三区| 91麻豆国产在线观看| 亚洲国产精品高清| 国产制服丝袜一区| 日韩精品一区二区在线观看| 亚洲国产精品自拍| 欧美三级电影在线看| 成人久久视频在线观看| 亚洲精品一区在线观看| 日韩av二区在线播放| 欧洲一区二区三区在线| 亚洲男人都懂的| 99re亚洲国产精品| 国产精品进线69影院| 成人开心网精品视频| 国产女人18水真多18精品一级做| 麻豆高清免费国产一区| 制服丝袜亚洲精品中文字幕| 亚洲va韩国va欧美va精品| 欧美日韩一卡二卡三卡| 不卡av电影在线播放| 精品91自产拍在线观看一区| 久久激情综合网| 日韩三级在线免费观看| 免费国产亚洲视频| 91精品在线观看入口| 久久精品国产在热久久| 精品国产一区a| 国产麻豆午夜三级精品| 国产欧美日韩在线观看| 成人精品鲁一区一区二区| 欧美国产日韩a欧美在线观看| 成人午夜免费av| 国产精品第四页| 色婷婷精品久久二区二区蜜臂av| 亚洲精品中文在线| 欧美亚洲一区二区在线观看| 婷婷国产v国产偷v亚洲高清| 日韩欧美高清dvd碟片| 老汉av免费一区二区三区| 久久日韩精品一区二区五区| 成人一区二区三区视频在线观看| 国产精品久久久久7777按摩| 色婷婷精品久久二区二区蜜臀av| 亚洲午夜久久久久中文字幕久| 7777精品久久久大香线蕉| 国产真实乱对白精彩久久| 国产日韩欧美不卡| 成人aaaa免费全部观看| 亚洲精品乱码久久久久久黑人 | 99久久99久久精品免费观看| 亚洲另类中文字| 91麻豆精品国产91久久久资源速度 | 亚洲国产欧美在线| 日韩三级精品电影久久久 | 欧美精品在线一区二区三区| 卡一卡二国产精品| 国产精品成人在线观看| 在线观看日韩一区| 蜜臀av一区二区| 亚洲欧美在线视频| 67194成人在线观看| 粉嫩av一区二区三区粉嫩| 亚洲风情在线资源站| 久久久综合激的五月天| 色国产精品一区在线观看| 久久99精品国产麻豆婷婷洗澡| 国产精品久久久久婷婷二区次| 欧美日韩一卡二卡| 国产91精品露脸国语对白| 亚洲高清免费观看| 欧美—级在线免费片| 9191精品国产综合久久久久久| 国产不卡一区视频| 日韩av在线发布| 亚洲欧洲成人自拍| 日韩精品在线一区| 91福利视频在线| 国产精品一区免费视频| 五月综合激情日本mⅴ| 国产精品久久久久影院老司| 欧美一级夜夜爽| 色视频一区二区| 紧缚奴在线一区二区三区| 一二三四区精品视频| 亚洲国产电影在线观看| 日韩精品一区在线观看| 亚洲天堂福利av| 欧美精品一区二区三区四区|