WDTCTL = WDTPW + WDTHOLD; // Watchdog stoppen // main.c spi_disenable() ; // CS High chip_set() ; // Reset High start_conv() ; system_init() ; _BIS_SR(GIE) ; while(1) { ; } }// End main /*#pragma vector = USART0RX_VECTOR __interrupt void usart0_rx(void) { TXBUF0 = RXBUF0 ; }*/ #pragma vector=PORT2_VECTOR __interrupt void Port_2(void) { unsigned char i ; P2IE &= ~ 0x01; //send_comand(SDATAC) ; //send_comand(SDATAC) ; write_register(mux0) ; write_register(mux0) ; // We want to write in Register Mux read_register(mux0) ; // We Register to //send_comand(RDATAC) ; *(mux0 + 1 ) = 0x7f ; P2IE |= 0x01; P2IFG &= ~0x01; } // NETZTEIL.c void read_register (unsigned char* ptr) { unsigned char i ; spi_enable() ; TXBUF1 = RREG + *ptr; // Command + regeister waehlen while( (UTCTL1 & TXEPT) == 0 ) ; delay(50) ; TXBUF1 = 0x00 ; while( (UTCTL1 & TXEPT) == 0 ) ; delay(50) ; TXBUF1 = 0xff ; while( (UTCTL1 & TXEPT) == 0 ) ; delay(5) ; *(ptr + 1 )= RXBUF1 ; spi_disenable() ; //start_conv() ; } // Ende Funktion Read, register void write_register ( unsigned char* ptr) { unsigned char i ; spi_enable() ; TXBUF1 = WREG + *ptr ; // Send write Command + Registeradresse while( (UTCTL1 & TXEPT) == 0 ) ; delay(5) ; TXBUF1 = 0x00 ; // The number of Register - 1 while( (UTCTL1 & TXEPT) == 0 ) ; delay(5) ; TXBUF1 = *(ptr + 1) ; // Send the writeByte while( (UTCTL1 & TXEPT) == 0 ) ; delay(5) ; spi_disenable() ; //start_conv() ; } // Ende Funktion write_register void read_byte(unsigned char *data) { unsigned char i ; spi_enable() ; TXBUF1 = 0x13 ; while( (UTCTL1 & TXEPT) == 0 ) ; delay(4) ; for( i = 0 ; i<3; i++) { TXBUF1 = 0xFF ; while( (UTCTL1 & TXEPT) == 0 ) ; *(data +i) = RXBUF1 ; } spi_disenable() ; } void wake_up(void) { spi_enable() ; TXBUF1= 0x01 ; while( (UTCTL1 & TXEPT) == 0 ) ; spi_disenable() ; } void send_comand( unsigned char cmd) { unsigned char i ; /*for ( i = 0; i < 40 ; i++) delay(5000) ; */ spi_enable() ; //at the beginning CS will low delay(50) ; TXBUF1 = cmd ; // Send command while( (UTCTL1 & TXEPT) == 0 ) ; // wait until the Buffer is empty delay(50) ; // Wait for few µS spi_disenable() ; // CS wil take High }