not working

Dependencies:   mbed

Committer:
andrewbw01
Date:
Sun Feb 07 19:52:45 2021 +0000
Revision:
0:875133f6447b
not working, InterruptIn()

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewbw01 0:875133f6447b 1 #include "mbed.h"
andrewbw01 0:875133f6447b 2 BusOut LED_Disp (p7,p11,p9,p8,p5,p6,p10,p12);
andrewbw01 0:875133f6447b 3 InterruptIn plusbutton(p14);
andrewbw01 0:875133f6447b 4 InterruptIn minusbutton(p15);
andrewbw01 0:875133f6447b 5 DigitalOut led1 (LED1);
andrewbw01 0:875133f6447b 6 DigitalOut led2 (LED2);
andrewbw01 0:875133f6447b 7
andrewbw01 0:875133f6447b 8
andrewbw01 0:875133f6447b 9 void DisplayNumber(int);
andrewbw01 0:875133f6447b 10 void flip()
andrewbw01 0:875133f6447b 11 {
andrewbw01 0:875133f6447b 12 LED_Disp = !LED_Disp; // toggle state of LED
andrewbw01 0:875133f6447b 13 }
andrewbw01 0:875133f6447b 14
andrewbw01 0:875133f6447b 15 int main()
andrewbw01 0:875133f6447b 16 {
andrewbw01 0:875133f6447b 17 plusbutton.rise(&flip);
andrewbw01 0:875133f6447b 18 int i = 0;
andrewbw01 0:875133f6447b 19 while(1)
andrewbw01 0:875133f6447b 20 {
andrewbw01 0:875133f6447b 21 if (plusbutton == 1)
andrewbw01 0:875133f6447b 22 {
andrewbw01 0:875133f6447b 23 led1 = 1;
andrewbw01 0:875133f6447b 24 wait(0.5);
andrewbw01 0:875133f6447b 25 i++;
andrewbw01 0:875133f6447b 26 while(plusbutton)
andrewbw01 0:875133f6447b 27 {
andrewbw01 0:875133f6447b 28 DisplayNumber(i);
andrewbw01 0:875133f6447b 29 }
andrewbw01 0:875133f6447b 30 }
andrewbw01 0:875133f6447b 31
andrewbw01 0:875133f6447b 32 if (minusbutton == 1)
andrewbw01 0:875133f6447b 33 {
andrewbw01 0:875133f6447b 34 led2 = 1;
andrewbw01 0:875133f6447b 35 wait(0.5);
andrewbw01 0:875133f6447b 36 i--;
andrewbw01 0:875133f6447b 37 while(minusbutton)
andrewbw01 0:875133f6447b 38 {
andrewbw01 0:875133f6447b 39 DisplayNumber(i);
andrewbw01 0:875133f6447b 40 }
andrewbw01 0:875133f6447b 41 }
andrewbw01 0:875133f6447b 42 }
andrewbw01 0:875133f6447b 43 }
andrewbw01 0:875133f6447b 44
andrewbw01 0:875133f6447b 45
andrewbw01 0:875133f6447b 46 void DisplayNumber(int num)
andrewbw01 0:875133f6447b 47 {
andrewbw01 0:875133f6447b 48 switch(num)
andrewbw01 0:875133f6447b 49 {
andrewbw01 0:875133f6447b 50 case 0:
andrewbw01 0:875133f6447b 51 LED_Disp = ~0x3F; // bit pattern for 0
andrewbw01 0:875133f6447b 52 break;
andrewbw01 0:875133f6447b 53
andrewbw01 0:875133f6447b 54 case 1:
andrewbw01 0:875133f6447b 55 LED_Disp = ~0x06;
andrewbw01 0:875133f6447b 56 break;
andrewbw01 0:875133f6447b 57
andrewbw01 0:875133f6447b 58 case 2:
andrewbw01 0:875133f6447b 59 LED_Disp = ~0x5B;
andrewbw01 0:875133f6447b 60 break;
andrewbw01 0:875133f6447b 61
andrewbw01 0:875133f6447b 62 case 3:
andrewbw01 0:875133f6447b 63 LED_Disp = ~0x4F;
andrewbw01 0:875133f6447b 64 break;
andrewbw01 0:875133f6447b 65
andrewbw01 0:875133f6447b 66 case 4:
andrewbw01 0:875133f6447b 67 LED_Disp = ~0x66;
andrewbw01 0:875133f6447b 68 break;
andrewbw01 0:875133f6447b 69
andrewbw01 0:875133f6447b 70 case 5:
andrewbw01 0:875133f6447b 71 LED_Disp = ~0x6D;
andrewbw01 0:875133f6447b 72 break;
andrewbw01 0:875133f6447b 73
andrewbw01 0:875133f6447b 74 case 6:
andrewbw01 0:875133f6447b 75 LED_Disp = ~0x7C;
andrewbw01 0:875133f6447b 76 break;
andrewbw01 0:875133f6447b 77
andrewbw01 0:875133f6447b 78 case 7:
andrewbw01 0:875133f6447b 79 LED_Disp = ~0x07;
andrewbw01 0:875133f6447b 80 break;
andrewbw01 0:875133f6447b 81
andrewbw01 0:875133f6447b 82 case 8:
andrewbw01 0:875133f6447b 83 LED_Disp = ~0x7F;
andrewbw01 0:875133f6447b 84 break;
andrewbw01 0:875133f6447b 85
andrewbw01 0:875133f6447b 86 case 9:
andrewbw01 0:875133f6447b 87 LED_Disp = ~0x67;
andrewbw01 0:875133f6447b 88 break;
andrewbw01 0:875133f6447b 89 }
andrewbw01 0:875133f6447b 90 }
andrewbw01 0:875133f6447b 91