Servus,
die Application note habe ich schon... Die hat auch einige Fragen klären können. Dennoch bin ich nicht weiter.
Ich habe mal meinen Code nachgebessert. Aber Emfangen tue ich immer noch nichts
Wenn ich den Quarz nur für den ADC brauch müsste ich ja zumindest die Calb. Words lesen können... Oder etwa nicht?Code:TART_PRESSURE_INIT call LCD_INIT bcf STATUS, RP0 ; auf Bank 1 umschalten movlw B'00111111' ; internen Takt zählen, Vorteiler zum Timer0, 32:1 movwf T1CON bsf STATUS,RP0 movlw b'00000000' movwf TRISB movlw 0x00 ; 256-125=131 ((1MHz : 32 ): 125 = 250 Hz) bcf STATUS, RP0 ; auf Bank 0 zurückschalten clrf RXDATA_HIGH clrf RXDATA_LOW clrf TXDATA banksel TRISC movlw b'00010000' movwf TRISC banksel SSPSTAT movlw b'10000000' ; SMP=1, CKE=1, BF=0 movwf SSPSTAT banksel SSPCON movlw b'00100010' ; WCOL=0, SSPOV=0, SSPEN=1, CKP=0, SSPM[3..0]= 0010 (FOSC/64) movwf SSPCON bcf SSPCON, SSPOV ; kein Überlauf bcf SSPCON, WCOL bsf SSPCON, SSPEN ; SPI=on movwf 0x1d movwf SSPBUF ; call BF_BIT movwf 0x60 movwf SSPBUF call BF_BIT banksel SSPSTAT bsf SSPSTAT,CKE banksel PORTA movwf 0x10 movwf SSPBUF ; call BF_BIT movwf RXDATA_HIGH movwf 0x01 movwf SSPBUF call BF_BIT movwf RXDATA_LOW call LCD_LINE_1 ; movf LOW_BYTE,w movf RXDATA_HIGH,w movwf FOR_HEX call HEX_AN_LCD call LCD_LINE_2 ; movf LOW_BYTE,w movf RXDATA_LOW,w movwf FOR_HEX call HEX_AN_LCD banksel TRISB movlw b'00000000' movwf TRISB banksel PORTB movlw b'01010101' movwf PORTB ABE goto ABE BF_BIT Banksel SSPSTAT btfss SSPSTAT, BF goto BF_BIT banksel PORTA movf SSPBUF,0 return
Hat vielleicht irgendwer ein Prog für mich, in dem mit SPI gearbeitet wird?
Sollte ich mit dem Oszi den Quarz schwingen sehen? Und wenn wie?
gruß







Zitieren

Lesezeichen