Skapade nyligen denna tråd om MSSP-kod från Application Maestro:
http://elektronikforumet.com/forum/view ... =7&t=36956
Fick dock aldrig riktigt någon kontroll över det så jag har bestämt mig för att satsa på att göra det hela själv från scratch istället.
Jag börjar då alltså med att försöka initiera MSSP modulen på min PIC16F886 och redan här stöter jag på patrull.
Jag initierar uCn precis som jag brukar.
Kod: Markera allt
Config bits:
__CONFIG _CONFIG1, _DEBUG_OFF & _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V
Kod: Markera allt
movlw b'00111000' ; setup value
; into W register
banksel SSPCON ; select SFR
; bank
movwf SSPCON ; configure for
; Master I2C
movlw b'00001001' ; setup value
; into W register
banksel SSPADD ; select SFR bank
movwf SSPADD ; baud rate =
; 400KHz @ 16MHz 100@4MHz?
movlw b'11000000' ; setup value
; into W register
movwf SSPSTAT ; slew rate
; disabled
banksel SSPSTAT ; select SFR bank
Någon som kanske har använt MSSP-modulen till I2C eller rent av SMBus som har en liten kodsnutt liggandes för en enkel initiering? Ska inte alls göra något fancy utan bara läsa av en IR-termometer så de mastodontprojekt som jag hittar på internet blir lätt svåröverskådliga och svårportade med alla sina finesser och funktioner.
Anyone?
MVH
/Tottish