Mercurial > public > mk2
diff code_part1/OSTC_code_asm_part1/i2c_eeprom.asm @ 573:77c8ff191cd7
Preparations for third bank of Custom Functions
author | heinrichsweikamp |
---|---|
date | Sat, 21 Apr 2012 12:09:37 +0200 |
parents | a587f491693d |
children | 16f4eafc197e |
line wrap: on
line diff
--- a/code_part1/OSTC_code_asm_part1/i2c_eeprom.asm Fri Apr 20 21:32:03 2012 +0200 +++ b/code_part1/OSTC_code_asm_part1/i2c_eeprom.asm Sat Apr 21 12:09:37 2012 +0200 @@ -13,10 +13,10 @@ ; along with this program. If not, see <http://www.gnu.org/licenses/>. ; provides routines for external EEPROM via I2C ; written by: Matthias Heinrichs, info@heinrichsweikamp.com -; written: 10/30/05 -; last updated: 08/21/06 +; written: 051030 +; last updated: 120421 ; known bugs: -; ToDo: use 2nd 32KB from external EEPROM for something +; ToDo: incf_eeprom_address macro ext_ee_temp1 ; Will increase eeprom_address:2 with the 8Bit value "ext_ee_temp1" movlw ext_ee_temp1 @@ -60,13 +60,7 @@ movlw d'0' addwfc eeprom_address+1,F return -; btfss eeprom_address+1,7 ; at address 8000? -; return ; no, return -; -; clrf eeprom_address+0 ; Clear eeprom address -; clrf eeprom_address+1 -; return -; + write_external_eeprom_block: ; Writes a block of 64Byte (one page in external EEPROM without stop condition #ifdef TESTING ; When Simulating with MPLabSIM, there is no way to emulate external EEPROM... @@ -84,12 +78,6 @@ addwfc eeprom_address+1,F return -; btfss eeprom_address+1,7 ; at address 8000 -; return ; no, return -; -; clrf eeprom_address+0 ; Clear eeprom address -; clrf eeprom_address+1 -; return I2CWRITE_BLOCK: movwf ext_ee_temp1 ; Data byte in WREG bsf SSPCON2,SEN ; Start condition @@ -240,13 +228,6 @@ movlw d'0' addwfc eeprom_address+1,F return -; btfss eeprom_address+1,7 ; at 0x8000? -; return ; no, return -; -; clrf eeprom_address+0 ; Yes, clear address -; clrf eeprom_address+1 -; return -; I2CREAD3: ; block read start with automatic address increase rcall I2CREAD_COMMON ; no Stop condition here