AVR_USI_I2C_slave_ASM

所属分类:单片机开发
开发工具:Asm
文件大小:9KB
下载次数:5
上传日期:2014-06-23 20:18:58
上 传 者jimwoo07
说明:  Software I2C slave using AVR USI (AVR Studio Project)

文件列表:
PowerMCU.hex (833, 2012-03-22)
PowerMCU.map (15037, 2012-03-22)
PowerMCU.obj (1456, 2012-03-22)
powermcu.aws (239, 2012-03-22)
PowerMCU.aps (3462, 2012-03-22)
AvrBuild.bat (378, 2012-03-22)
labels.tmp (2435, 2012-03-22)
PowerMCU.asm (4618, 2012-03-22)
AVR.INC (4389, 2011-07-01)

COMPLEAT ASSEMBLER CODE FOR I2C SLAVE IN ASSEMBLER USE external pullups for SDA,SCL pins (4.7k to V+) USAGE: I2C WRITE DATA TO SLAVE 1byte: ADDRESS (=0xAC) 2byte: SUBADDRESS (=< SRAM SIZE-STACK; from 0 to 120 for ATtiny2313) 3byte: DATA (will be written to SRAM position =SRAM_START+SUBADDRESS) 4byte: DATA (will be written to SRAM position =SRAM_START+SUBADDRESS+1) 5byte: DATA (will be written to SRAM position =SRAM_START+SUBADDRESS+2) ... etc. I2C READ DATA FROM SLAVE 1byte: ADDRESS+1 (=0xAC+1) 2byte: DATA (read from SRAM position =SRAM_START+SUBADDRESS) 3byte: DATA (read from SRAM position =SRAM_START+SUBADDRESS+1) ... etc. I2C WRITE SUBADDRESS TO SLAVE, READ DATA FROM SLAVE 1byte: ADDRESS (=0xAC) 2byte: SUBADDRESS (=< SRAM SIZE-STACK) Repeated Start 1byte: ADDRESS+1 (=0xAC+1) 2byte: DATA (read from SRAM position =SRAM_START+SUBADDRESS) 3byte: DATA (read from SRAM position =SRAM_START+SUBADDRESS+1) ... etc. I SPEND A LOT OF TIME AND THEN FIND BUG IN ALL ATMEL DOCS: SCL DDR and PORT MUST BE ALWAYS =1 !!!!!!!!!!!!!!!!! * SDA PORT MUST BE ALWAYS =1 !!!!!!!!!!!!!!!!! * ATtiny2313 memory use summary [bytes]: Segment Begin End Code Data Used Size Use% --------------------------------------------------------------- [.cseg] 0x000000 0x000132 278 0 278 2048 13.6% [.dseg] 0x000060 0x000061 0 1 1 128 0.8% [.eseg] 0x000000 0x000000 0 0 0 128 0.0%

近期下载者

相关文件


收藏者