From: ian Date: Tue, 22 Feb 2005 22:18:38 +0000 (+0000) Subject: i2c slave debugging: faff a bit with led settings in slave pic; make master panic... X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ijackson/git?a=commitdiff_plain;h=243cc9c44a0b6a376b3492992173dba3e1e2e848;p=trains.git i2c slave debugging: faff a bit with led settings in slave pic; make master panic immediately after doing START (for testing); clarify comments re SSPCON1 value; slave SSPCON1 value is more correct --- diff --git a/cebpic/i2c-test.asm b/cebpic/i2c-test.asm index 20b6ce7..58b6bea 100644 --- a/cebpic/i2c-test.asm +++ b/cebpic/i2c-test.asm @@ -240,8 +240,9 @@ slave_main slave_main_loop call wait_for_i2c_interrupt ; wait for 1st (address) byte + call led_green call wait_for_i2c_interrupt ; wait for 2nd (data) byte - btg TRISD,2,0 ; toggle LED on/off + call led_black goto slave_main_loop ;---------------------------------------- @@ -255,6 +256,7 @@ serial_rx_isr call wait_for_i2c_interrupt debug 'e' + call panic movlw 0x41 ; transmit address 0100 0001 movwf SSPBUF,0 @@ -390,8 +392,8 @@ i2c_setup goto i2c_setup_if_slave i2c_setup_if_master - movlw 0x08 - movwf SSPCON1,0 ; set to master mode, clear top 4 bits + movlw 0x08 ; clear top 2 status bits; disable SSP; + movwf SSPCON1,0 ; CKP unused, set to 0; master mode. ; set baud rate movlw 100-1 @@ -402,10 +404,10 @@ i2c_setup_if_master goto i2c_setup_endif_master_slave i2c_setup_if_slave - movlw 0x06 - movwf SSPCON1,0 ; set to 7bit slave mode, clear top 4 bits - ; (no extra start/stop interrupts) - !!fixme probably want to set SSPCON2:SEN "clock stretching" + movlw 0x16 ; clear top 2 status bits; disable SSP; + movwf SSPCON1,0 ; release clock; 7bit slave mode with + ; no extra start/stop interrupts. +; !!fixme probably want to set SSPCON2:SEN "clock stretching" ; set slave address banksel PIC_NO ; set BSR=i2c BSR (4)