Guest User

Untitled

a guest
May 25th, 2019
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. #include <msp430.h>
  2. #include <stdint.h>
  3. #include <string.h>
  4. #include <i2c.h>
  5. #include <oled.h>
  6. #include <fonts.h>
  7. #include <stdlib.h>
  8. int tijd = 0;
  9. float spanning = 0;
  10. int value = 0;
  11. int value2 = 0;
  12. int start = 0;
  13. int p = 0;
  14. int sr = 0;
  15. int displaycounter = 0;
  16. float stroom = 0;
  17. float vermogen = 0;
  18. float e = 0;
  19. char buffer[33];
  20. float stroomberekening(wrd2, wrd3){
  21. stroom = (wrd2-wrd3)/0.2;
  22. return stroom;
  23. }
  24. float vermogenovertijd(wrd4){
  25. vermogen = stroom*wrd4;
  26. return vermogen;
  27. }
  28. float energie(wrd5){
  29. e = wrd5*(tijd/10);
  30. return e;
  31. }
  32. float berekening(wrd){
  33. spanning = (2,5*wrd)/1023;
  34. return spanning;
  35. }
  36. #pragma vector = PORT2_VECTOR //This is the part where the problem is i think
  37. __interrupt void startreset(void){
  38. TA0CTL = MC_1;
  39. sr++;
  40. oledInitialize();
  41. oledClearScreen();
  42. itoa(sr, buffer);
  43. oledPrint(10, 10,buffer, big);
  44.  
  45. }
  46. #pragma vector = TIMER0_A1_VECTOR
  47. __interrupt void timer(void){
  48. TA0CTL &= ~TAIFG;
  49. tijd += 1;
  50. if((tijd%2)==0){ //5x per seconde proben
  51. ADC10CTL1 = INCH_4;
  52. ADC10CTL0 |= ENC | ADC10SC;
  53. TA0CTL &= ~TAIFG;
  54. value = ADC10MEM;
  55.  
  56. }
  57. else if((tijd%1)==0){ //de resterende keren proberen
  58. ADC10CTL1 = INCH_5;
  59. ADC10CTL0 |= ENC | ADC10SC;
  60. TA0CTL &= ~TAIFG;
  61. value2 = ADC10MEM;
  62.  
  63. }
  64.  
  65. }
  66. #pragma vector = ADC10_VECTOR
  67. __interrupt void ADC_converter(void)
  68. {
  69.  
  70. }
  71. int main(void)
  72. {
  73. P2OUT &= ~(BIT1 | BIT2);
  74. P2REN |= BIT1 | BIT2;
  75. P2IE |= 0b11111111;
  76. P2DIR = BIT1 | BIT2;
  77. DCOCTL = 0;
  78. BCSCTL1 = CALBC1_16MHZ; // Set range
  79. DCOCTL = CALDCO_16MHZ; // Set DCO step + modulation // Set DCO step + modulation */
  80. WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer
  81. ADC10CTL0 = SREF_1 | REFON | ADC10ON | ADC10IE | REF2_5V;
  82. ADC10CTL1 = ADC10DIV_0 ;
  83. TA0CTL = TAIE | TASSEL_2 | MC_0;
  84. TA0CCR0 = 1600000;
  85. __enable_interrupt();
  86. while(1){
  87. LPM0;
  88. }
  89.  
  90. }
Advertisement
Add Comment
Please, Sign In to add comment