Code:
REM LCD PIN Assignments above...
NS_DA VAR PORTB.1
NS_CK VAR PORTB.2
MYCON VAR BYTE 'REM Control Value for NS73M
START:
'REM The Theory is that we setup all parameters, then turn it on.
MYCON = $CC 'REM Setup Control Address for NS73M
PAUSE 100 'REM Breathe a moment; let the chip get settled...
REM I2CWRITE DATAPIN,CLOCKPIN,CONTROLADDRESS,PORTADDRESS,[DATAINBRACKETS]{, OPTIONALJUMPTOLABEL}
I2CWRITE NS_DA,NS_CK,MYCON,$0E,[$05], BOOHA 'REM SOFTWARE RESET NS73M Chip
PAUSE 10
I2CWRITE NS_DA,NS_CK,MYCON,$00,[$A0] 'REM Set it up, dont turn it on yet...
PAUSE 10
I2CWRITE NS_DA,NS_CK,MYCON,$01,[$B4] 'REM Pilot On, Subcarrier On
PAUSE 10
I2CWRITE NS_DA,NS_CK,MYCON,$02,[$07] 'REM 2mw Power, Unlock Detect ON
PAUSE 10
I2CWRITE NS_DA,NS_CK,MYCON,$03,[$58] 'REM Frequency; Lower Byte
PAUSE 10
I2CWRITE NS_DA,NS_CK,MYCON,$04,[$2A] 'REM Frequency; Upper Byte
PAUSE 10
I2CWRITE NS_DA,NS_CK,MYCON,$08,[$1A] 'REM CEX Band 2
PAUSE 10
I2CWRITE NS_DA,NS_CK,MYCON,$00,[$A1] 'REM Ok, Turn it on...
PAUSE 10
I2CWRITE NS_DA,NS_CK,MYCON,$0E,[$05] 'REM SOFTWARE RESET NS73M Chip
PAUSE 100
I2CWRITE NS_DA,NS_CK,MYCON,$06,[$1E] 'REM Charge Pump
PAUSE 10
LCDOUT $FE, 1
LCDOUT $FE, 2
PAUSE 500
LCDOUT $FE, $80
LCDOUT "Transmitting?"
LCDOUT $FE, $C0
LCDOUT " supposedly..."
PAUSE 1000
GOTO THEEND
BOOHA:
LCDOUT $FE, 1
LCDOUT $FE, 2
PAUSE 500
LCDOUT $FE, $80
LCDOUT "No ACK"
LCDOUT $FE, $C0
LCDOUT ":("
PAUSE 1000
GOTO THEEND
THEEND:
END
Interestingly enough, One of the reasons I thought it was a hardware failure, was I could remove one, or both of the I2C lines and still not get an error (evidenced by the optional jump label on the first I2CWRITE command, to reset the NS73M). However, if I "swapped" the lines, then I DID get a "No ACK" error. Weird. I still dont understand that. But it is wired correctly.
Bookmarks