Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <msp430.h>
- #include <stdint.h>
- #include <string.h>
- #include <i2c.h>
- #include <oled.h>
- #include <fonts.h>
- #include <stdlib.h>
- int tijd = 0;
- float spanning = 0;
- int value = 0;
- int value2 = 0;
- int start = 0;
- int p = 0;
- int sr = 0;
- int displaycounter = 0;
- float stroom = 0;
- float vermogen = 0;
- float e = 0;
- char buffer[33];
- float stroomberekening(wrd2, wrd3){
- stroom = (wrd2-wrd3)/0.2;
- return stroom;
- }
- float vermogenovertijd(wrd4){
- vermogen = stroom*wrd4;
- return vermogen;
- }
- float energie(wrd5){
- e = wrd5*(tijd/10);
- return e;
- }
- float berekening(wrd){
- spanning = (2,5*wrd)/1023;
- return spanning;
- }
- #pragma vector = PORT2_VECTOR //This is the part where the problem is i think
- __interrupt void startreset(void){
- TA0CTL = MC_1;
- sr++;
- oledInitialize();
- oledClearScreen();
- itoa(sr, buffer);
- oledPrint(10, 10,buffer, big);
- }
- #pragma vector = TIMER0_A1_VECTOR
- __interrupt void timer(void){
- TA0CTL &= ~TAIFG;
- tijd += 1;
- if((tijd%2)==0){ //5x per seconde proben
- ADC10CTL1 = INCH_4;
- ADC10CTL0 |= ENC | ADC10SC;
- TA0CTL &= ~TAIFG;
- value = ADC10MEM;
- }
- else if((tijd%1)==0){ //de resterende keren proberen
- ADC10CTL1 = INCH_5;
- ADC10CTL0 |= ENC | ADC10SC;
- TA0CTL &= ~TAIFG;
- value2 = ADC10MEM;
- }
- }
- #pragma vector = ADC10_VECTOR
- __interrupt void ADC_converter(void)
- {
- }
- int main(void)
- {
- P2OUT &= ~(BIT1 | BIT2);
- P2REN |= BIT1 | BIT2;
- P2IE |= 0b11111111;
- P2DIR = BIT1 | BIT2;
- DCOCTL = 0;
- BCSCTL1 = CALBC1_16MHZ; // Set range
- DCOCTL = CALDCO_16MHZ; // Set DCO step + modulation // Set DCO step + modulation */
- WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer
- ADC10CTL0 = SREF_1 | REFON | ADC10ON | ADC10IE | REF2_5V;
- ADC10CTL1 = ADC10DIV_0 ;
- TA0CTL = TAIE | TASSEL_2 | MC_0;
- TA0CCR0 = 1600000;
- __enable_interrupt();
- while(1){
- LPM0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment