請教一個 I2C 的小問題^^
|
||||
---|---|---|---|---|
新會員
|
我使用C18 寫 Master傳資料的時候...
首先傳adress+0x00(寫入..)..之後收到確認位元(0)再寫入 data....問題來哩...如果我的data是一組字串.. EX: data[3]="abc"; 我應該用 for把 data一次全部丟出去...? 還是要用丟一次adress+0x00 收到確認位元(0) 再丟一個字元 重複三次呢? 還有如果是使用for把 data一次全部丟出去... Slave接收的時候該怎麼收才正確呢? 我是判斷SSPSTAT的狀態..用switch case 一個字一個字收... 但是都收不太到~~ 請救救我吧...
發表於: 2004/11/16 0:06
|
|||
|
請教一下 I2C 的 Idel的問題
|
||||
---|---|---|---|---|
新會員
|
#include <i2c.h>
/******************************************************************** * Function Name: IdleI2C * * Return Value: void * * Parameters: void * * Description: Test and wait until I2C module is idle. * ********************************************************************/ #undef IdleI2C void IdleI2C( void ) { while ( ( SSPCON2 & 0x1F ) | ( SSPSTATbits.R_W ) ) continue; } 上面著個 Function裡面的 0X1F 似乎是對於主控端讀取時的用法....那如果要用主控端傳送的功能的話...要修改這個值嗎..
發表於: 2004/11/5 11:49
|
|||
|
關於PICDEM使用I2C的問題~
|
||||
---|---|---|---|---|
新會員
|
小弟在使用PICDEM做I2C傳送的時候...發生了一點小問題...
但是我實在不知道該怎麼解決...請各位大大昇出援手吧@@ PICDEM為主控端..要傳送DATA給SLAVE.. 我是使用C18... 可是當我使用 MasterWrite(); 的動作的時候跑出 Error [1203] too few arguments in function call 的錯誤...以下是我的function I2C_RESULT MasterWrite(unsigned char val) { IdleI2C(); // ensure module is idle if ( WriteI2C( val ) ) // data byte for EEPROM return I2C_BUS_COLLISION; // set error for write collision IdleI2C(); if ( !SSPCON2_ACKSTAT ) return I2C_SUCCESS; return I2C_NAK; } 希望各位大大能只點一下 感激不盡
發表於: 2004/10/28 12:13
|
|||
|