音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

ARM2214的I2C接at24c1024問(wèn)題????

作者:andreas168 欄目:ARM技術(shù)
ARM2214的I2C接AT24C1024.html">AT24C1024問(wèn)題????
我以前購(gòu)買(mǎi)的是EASYARM2104的開(kāi)發(fā)板,上面有I2C接24C02的代碼,但我現(xiàn)在的項(xiàng)目中要使用AT24C1024,必須在讀寫(xiě)時(shí)寫(xiě)入16位的數(shù)據(jù)地址,我對(duì)
void  __irq  IRQ_I2C(void) 這段代碼理解不夠,所以不知道如何修改,請(qǐng)各位大俠幫忙。謝謝。  QQ:359473028。



/****************************************************************************
* File:I2CINT.C
* 功能:使用硬件I2C對(duì)E2PROM進(jìn)行操作,利用中斷方式操作。
* 說(shuō)明:將跳線器JP8_LED1、JP12短接。
****************************************************************************/
#include  "config.h"

#define   CSI24WC02 0xA0            /* 定義器件地址 */

#define      LED1CON    0x00000400        /* P0.10引腳控制LED1,低電平點(diǎn)亮 */


/* 以下為I2C操作時(shí)所需要的變量,在調(diào)用I2C子程序前要設(shè)置好這些變量 */
volatile  uint8  I2C_sla;           // 從機(jī)地址
volatile  uint8  I2C_suba;          // 子地址
volatile  uint8  *I2C_buf;          // 數(shù)據(jù)緩沖區(qū)指針 (讀操作時(shí)會(huì)被更改)
volatile  uint8  I2C_num;           // 操作數(shù)據(jù)個(gè)數(shù) (會(huì)被更改)
volatile  uint8  I2C_end;           // 操作結(jié)束標(biāo)志,為1時(shí)表示操作結(jié)束,為0xFF時(shí)表示操作失敗 (會(huì)被設(shè)置)
volatile  uint8  I2C_suba_en;       // 子地址使能控制,讀操作時(shí)請(qǐng)?jiān)O(shè)置為1,寫(xiě)操作時(shí)請(qǐng)?jiān)O(shè)置為2 (會(huì)被更改)



/****************************************************************************
* 名稱(chēng):IRQ_I2C()
* 功能:I2C中斷,通過(guò)判斷I2C狀態(tài)字進(jìn)行相應(yīng)的操作。
* 入口參數(shù):無(wú)
* 出口參數(shù):無(wú)
****************************************************************************/
void  __irq  IRQ_I2C(void)
{  uint8  sta;

   sta = I2STAT;                    // 讀出I2C狀態(tài)字
   SWITCH(sta)
   {  case  0x08:                   // 己發(fā)送起始條件
            if(1==I2C_suba_en) I2DAT = I2C_sla&0xFE;    // 指定子地址讀時(shí),先寫(xiě)入地址
              else I2DAT = I2C_sla;                     // 否則直接發(fā)送從機(jī)地址
            I2CONCLR = 0x28;        // SI=0
            break;
            
      case  0x10:
            I2DAT = I2C_sla;        // 重啟動(dòng)總線后,發(fā)送從地址
            I2CONCLR = 0x28;        // SI=0
            break;
   
      case  0x18:                   // 已發(fā)送SLA+W,并已接收應(yīng)答
            if(0==I2C_suba_en)      // 無(wú)子地址,則直接發(fā)送數(shù)據(jù)
            {  if(I2C_num>0)
               {  I2DAT = *I2C_buf++;
                  I2CONCLR = 0x28;
                  I2C_num--;
               }
               else
               {  I2CONSET = 0x10;  // 無(wú)數(shù)據(jù)發(fā)送,結(jié)束總線
                  I2CONCLR = 0x28;
                  I2C_end = 1;      // 設(shè)置總線操作結(jié)束標(biāo)志
               }
               break;
            }
            if(1==I2C_suba_en)      // 發(fā)送子地址
            {  I2DAT = I2C_suba;
               I2CONCLR = 0x28;
            }
            if(2==I2C_suba_en)
            {  I2DAT = I2C_suba;
               I2CONCLR = 0x28;
               I2C_suba_en = 0;     // 子地址己處理
            }
            break;
            
      case  0x28:                   // 已發(fā)送I2C數(shù)據(jù),并接收到應(yīng)答
            if(0==I2C_suba_en)      // 無(wú)子地址,則直接發(fā)送數(shù)據(jù)
            {  if(I2C_num>0)
               {  I2DAT = *I2C_buf++;
                  I2CONCLR = 0x28;
                  I2C_num--;
               }
               else
               {  I2CONSET = 0x10;  // 無(wú)數(shù)據(jù)發(fā)送,結(jié)束總線
參與討論
昵稱(chēng):
討論內(nèi)容:
 
 
相關(guān)帖子
LPC2210開(kāi)發(fā)板的SPI1做從機(jī)中斷方式接收數(shù)據(jù)的問(wèn)題
請(qǐng)問(wèn)zlg網(wǎng)站那里有ucos-II在lpc系列arm上的移植代碼下載
設(shè)計(jì)與選型的疑惑
SmartARM2200上的LCM_Disp程序修改后運(yùn)行問(wèn)題
求助magicARM2200用的芯片是2290中relinchip燒寫(xiě)后就無(wú)法燒寫(xiě)了
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)