Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "biblioteka.h"
- int main( void )
- {
- WDTCTL = WDTPW + WDTHOLD;
- int was_on = 0;
- while(1) {
- if(was_on==1) {
- if(IsButtonPressed(BUTTON1)) {
- ToggleLed(STATUS,OFF);
- was_on=0;
- while(IsButtonPressed(BUTTON1)){}
- }
- } else {
- if(IsButtonPressed(BUTTON1)) {
- ToggleLed(STATUS,ON);
- was_on=1;
- while(IsButtonPressed(BUTTON1)){}
- }
- }
- }
- return 0;
- }
- #ifndef BIBLIOTEKA_H
- #define BIBLIOTEKA_H
- #include "io430.h"
- typedef enum {
- STATUS,
- REL1,
- REL2
- } LED;
- typedef enum {
- ON,
- OFF
- } SET;
- typedef enum {
- BUTTON1,
- BUTTON2,
- BUTTON3,
- BUTTON4
- } BUTTON;
- void delay(){
- int j,i;
- for(j=0;j<1000;j++)
- for(i=0;i<233;i++);
- }
- void delays(){
- int j,i;
- for(j=0;j<1000;j++)
- for(i=0;i<100;i++);
- }
- void ToggleLed(LED l,SET s) {
- switch (l) {
- case STATUS:
- P2DIR |= BIT1;
- if (s==ON)
- P2OUT &= ~BIT1;
- else
- P2OUT |= BIT1;
- break;
- case REL1:
- P1DIR |= BIT5;
- if (s==OFF)
- P1OUT &= ~BIT5;
- else
- P1OUT |= BIT5;
- break;
- case REL2:
- P1DIR |= BIT6;
- if (s==OFF)
- P1OUT &= ~BIT6;
- else
- P1OUT |= BIT6;
- break;
- }
- }
- void zapal(LED l) {
- switch (l) {
- case STATUS:
- P2DIR |= BIT1;
- P2OUT |= BIT1;
- break;
- case REL1:
- P1DIR |= BIT5;
- P1OUT &= ~BIT5;
- break;
- case REL2:
- P1DIR |= BIT6;
- P1OUT &= ~BIT6;
- break;
- }
- }
- void zgas(LED l) {
- switch (l) {
- case STATUS:
- P2DIR |= BIT1;
- P2OUT &= ~BIT1;
- break;
- case REL1:
- P1DIR |= BIT5;
- P1OUT |= BIT5;
- break;
- case REL2:
- P1DIR |= BIT6;
- P1OUT |= BIT6;
- break;
- }
- }
- bool IsButtonPressed(BUTTON b) {
- switch (b) {
- case BUTTON1:
- P4DIR = P4DIR &~(BIT4|BIT5|BIT6|BIT7);
- if ((P4IN & BIT4)==0)
- return true;
- return false;
- break;
- case BUTTON2:
- P4DIR = P4DIR &~(BIT4|BIT5|BIT6|BIT7);
- if ((P4IN & BIT5)==0)
- return true;
- return false;
- break;
- case BUTTON3:
- P4DIR = P4DIR &~(BIT4|BIT5|BIT6|BIT7);
- if ((P4IN & BIT6)==0)
- return true;
- return false;
- break;
- case BUTTON4:
- P4DIR = P4DIR &~(BIT4|BIT5|BIT6|BIT7);
- if ((P4IN & BIT7)==0)
- return true;
- return false;
- break;
- }
- }
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement