|
|||||||||||
| 技術(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 |
求AW系列IIC模塊中斷例程 |
| 作者:秋葉 欄目:單片機(jī) |
| 2樓: | >>參與討論 |
| 作者: 冷若寒 于 2007/1/3 18:28:00 發(fā)布:
樓上的,有資料一起分享 我也正在搞這個(gè)片子,有資料一起分享; 我的Q :38643491 MOODYBOY2004@163.COM |
|
| 3樓: | >>參與討論 |
| 作者: imwangyi 于 2007/1/5 9:30:00 發(fā)布:
CW5.1安裝后有參考代碼 program files\FREESCALE\(CodeWarrior_Examples)\HCS08\DEVICE Initialization C Examples\GB60_Modules\Sources\IIC_GB60 這是基于標(biāo)準(zhǔn)iic的,至于24C02的,你要自己寫了. :P |
|
| 4樓: | >>參與討論 |
| 作者: 秋葉 于 2007/1/5 21:13:00 發(fā)布:
每個(gè)技術(shù)支持都讓我看CW自帶的例程,如果能用我就不在此發(fā)貼了 |
|
| 5樓: | >>參與討論 |
| 作者: 張明峰 于 2007/1/6 11:26:00 發(fā)布:
如果不能用就不會(huì)帶在里面了 只想吃現(xiàn)成飯的就不要搞研發(fā)。 |
|
| 6樓: | >>參與討論 |
| 作者: 秋葉 于 2007/1/7 20:15:00 發(fā)布:
張先生,做技術(shù)支持不能以這個(gè)心態(tài)啊 我們用戶主要集中精力在產(chǎn)品的應(yīng)用上,如果啥都要自已搞定,哪飛思卡爾只需要報(bào)價(jià)員就可以了,開什么論談,中央電視臺(tái)打個(gè)廣告就成 |
|
| 7樓: | >>參與討論 |
| 作者: imwangyi 于 2007/1/8 13:23:00 發(fā)布:
肯定可以用 WriteBytesI2C 參考代碼里修改IIC1D=slaveAddress可以設(shè)置外設(shè)置的地址. I2C_DATA[0]放EEPROM.html">EEPROM的地址. I2C_DATA[1]開始放寫如數(shù)據(jù). data len>=2; 做讀EEPROM前需寫入地址(WriteBytesI2C data len =1)后再做讀(ReadBytesI2C data len>=1). |
|
| 8樓: | >>參與討論 |
| 作者: 張明峰 于 2007/1/10 13:08:00 發(fā)布:
對(duì)于只想“守株待兔”的 該是什么心態(tài)比較恰當(dāng)呢? |
|
| 9樓: | >>參與討論 |
| 作者: imwangyi 于 2007/1/11 15:45:00 發(fā)布:
如何讀/寫24C02 讀24C02,參考代碼需要做一下修改. unsigned CHAR WriteBytesI2C (unsigned CHAR slaveAddress,unsigned CHAR numberOfBytes){ unsigned CHAR TEMP; I2C_LENGTH = numberOfBytes; if (I2C_LENGTH==1) TEMP3=1; else TEMP3=0; \\做地址定位用 I2C_COUNTER =0; I2C_STEP = IIC_HEADER_SENT_STATUS; I2C_DATA_DIRECTION = 1; /* Format the Address to fit in the IICA register and place a 0 on the R/W bit.*/ slaveAddress &= 0xFE; IIC1C_IICEN = 0; IIC1C_IICEN = 1; TEMP = IIC1S; /* Clear any pending interrupt */ IIC1S_IICIF=1; IIC1C_MST = 0; TEMP1=1; IIC1S_SRW=0; IIC1C_TX = 1; /* SELECT Transmit Mode */ IIC1C_MST = 1; /* SELECT MASTER Mode (Send Start Bit) */ for(TEMP=0;TEMP<5;TEMP++); /* Small delay */ IIC1D=slaveAddress; /* Send selected slave address */ return(1); } |
|
| 10樓: | >>參與討論 |
| 作者: imwangyi 于 2007/1/11 15:46:00 發(fā)布:
讀寫24C02-2 unsigned CHAR ReadBytesI2C (unsigned CHAR slaveAddress,unsigned CHAR numberOfBytes){ unsigned CHAR TEMP; I2C_LENGTH = numberOfBytes; I2C_COUNTER =0; I2C_STEP = IIC_HEADER_SENT_STATUS; I2C_DATA_DIRECTION = 0; /* Format the Address to fit in the IICA register and place a 1 on the R/W bit. */ slaveAddress &= 0xFE; slaveAddress |= 0x01; /* Set the Read from slave bit. */ TEMP = IIC1S; /* Clear any pending interrupt */ IIC1S_IICIF=1; IIC1C_TX = 1; /* SELECT Transmit Mode */ IIC1C_MST = 1; /* SELECT MASTER Mode (Send Start Bit)*/ IIC1C_RSTA=1; //重復(fù)發(fā)Start,即沒有STOP時(shí)發(fā)Start IIC1D=slaveAddress; /* Send selected slave address */ TEMP3=0; return(1); } |
|
| 11樓: | >>參與討論 |
| 作者: imwangyi 于 2007/1/11 15:48:00 發(fā)布:
讀寫24C02-3 //.....interrupt 24 void IIC_Control_handler里在發(fā)送len=1時(shí)不發(fā)stop if(I2C_STEP==IIC_DATA_SENT_STATUS){ /* We are done with the transmition.*/ I2C_STEP=IIC_READY_STATUS; /* Reset our status flag */ TEMP = IIC1S; /* ACK the interrupt */ IIC1S_IICIF=1; if (!TEMP3){ IIC1C_TX=0; IIC1S_SRW=0; IIC1C_MST=0; }/* Generate a stop condition */ return; } |
|
| 12樓: | >>參與討論 |
| 作者: imwangyi 于 2007/1/11 15:50:00 發(fā)布:
讀寫24C02-4 //.....interrupt 24 void IIC_Control_handler Star 后第一次進(jìn)中斷不發(fā)數(shù)據(jù)stop if (Temp1!=1){ IIC1D = I2C_DATA[I2C_COUNTER]; I2C_COUNTER++; } else Temp1=0; return; } |
|
| 13樓: | >>參與討論 |
| 作者: imwangyi 于 2007/1/11 15:53:00 發(fā)布:
讀寫24C02-5 configureI2C(0xa0); //a0,a1,a2 全為0 I2C_DATA[0]=0X0; /* EEPROM第0個(gè)地址*/ I2C_DATA[1]=0XAA; /* 要寫數(shù)據(jù)為0xaa*/ EnableInterrupts; /* enable interrupts */ WriteBytesI2C(0xA0,2);// 寫一個(gè)AA到24C02地址為0里面去. while(I2C_STEP>IIC_READY_STATUS)__RESET_WATCHDOG(); /* wait for MEMORY to be read */ delay_10ms(); WriteBytesI2C(0xA0,1);//定位地址為0. while(I2C_STEP>IIC_READY_STATUS)__RESET_WATCHDOG(); /* wait for MEMORY to be read */ // delay_10ms(); //while (I2C_COUNTER!=1) __RESET_WATCHDOG(); ReadBytesI2C(0XA1,1) ;讀1個(gè)Byte while(I2C_STEP>IIC_READY_STATUS)__RESET_WATCHDOG(); |
|
| 14樓: | >>參與討論 |
| 作者: imwangyi 于 2007/1/11 15:54:00 發(fā)布:
如果需要測(cè)試代碼,e-mail到ileudora@126.com |
|
| 15樓: | >>參與討論 |
| 作者: mc9s08aw60 于 2007/2/6 15:20:00 發(fā)布:
imwangyi,能否分一份測(cè)試程序。謝謝。 mc9s08aw60@126.com |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |