• slider image 442
  • slider image 477
  • slider image 479
  • slider image 480
  • slider image 481
  • slider image 482
:::


Browsing this Thread:   1 Anonymous Users






Re: 讀寫 i2c csi 24c02 問題
#4
管理員
管理員


查看用戶資訊
不行喔!
你可以查看 SERCOM2_I2C_Write() 的 原型
SERCOM2_I2C_Write(uint16_t address, uint8_t* wrData, uint32_t wrLength)
第二格欄位需要是uint8_t *的型別

你的#define wr_addr_ 0x20 //指定寫入位址
是常數無法傳入

發表於: 2021/7/15 13:46
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 讀寫 i2c csi 24c02 問題
#3
中級會員
中級會員


查看用戶資訊
#define wr_addr_ 0x20 //指定寫入位址
#define datalen 100 //

HI Libra
感謝,再次請教我如果要指定位址寫入,下列方法可行?
SERCOM2_I2C_Write(slaveaddr,wr_addr_ ,datalen);




Write之後等一下tWR (5ms max)試試,
另外SERCOM2_I2C Read/Write 第一個欄位一律為Slave Address, 然後對當前的地址讀/寫,

如果你要指定讀取位址時, 應該使用SERCOM2_I2C_WirteRead()
#define SLAVE_ADDR 0xA0
uint8_t SubAddr[1];
uint8_t ReadData[16];
SubAddr[0] = 你要讀的位址; // 0x00為重頭開始讀
SERCOM2_I2C_WirteRead( SALVE_ADDR, SubAddr, 1, ReadData,16 );[/quote]

發表於: 2021/7/14 18:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 讀寫 i2c csi 24c02 問題
#2
管理員
管理員


查看用戶資訊
Write之後等一下tWR (5ms max)試試,
另外SERCOM2_I2C Read/Write 第一個欄位一律為Slave Address, 然後對當前的地址讀/寫,

如果你要指定讀取位址時, 應該使用SERCOM2_I2C_WirteRead()
#define SLAVE_ADDR 0xA0
uint8_t SubAddr[1];
uint8_t ReadData[16];
SubAddr[0] = 你要讀的位址; // 0x00為重頭開始讀
SERCOM2_I2C_WirteRead( SALVE_ADDR, SubAddr, 1, ReadData,16 );

發表於: 2021/7/12 11:16
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


讀寫 i2c csi 24c02 問題
#1
中級會員
中級會員


查看用戶資訊
uint8_t EERD_BUF[16];
uint8_t TEST_DATA[16];


void Get_ AT24MAC402_MAC(uint8_t *MAC_BUF)
{

uint8_t SubAddr[0];
SubAddr[0] = 0xA0;

SERCOM2_I2C_Write( 0xA0, SubAddr, 1);
while(SERCOM2_I2C_IsBusy());

SERCOM2_I2C_Read(0xA0,MAC_BUF,16);
while(SERCOM2_I2C_IsBusy());
__asm("nop"); //設定斷點程式有跑到這 查看EERD_BUF 都是0
}


int main ( void )
{
uint8_t i=0;
for (i=0 ;i < 16 ; i++)
{
TEST_DATA[i]=i; // 初始化填入測試數據入

}
SERCOM2_I2C_Write(0xA0,&TEST_DATA[0],16);
while(SERCOM2_I2C_IsBusy());
__asm("nop"); //設定斷點程式有跑到這

Get_AT24MAC402_MAC (&EERD_BUF[0]);

while ( true )
{
/* Maintain state machines of all polled MPLAB Harmony modules. */
SYS_Tasks ( );
__asm("nop");
return ( EXIT_FAILURE );
}

}

發表於: 2021/7/9 10:24
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------