diff options
author | Clyne Sullivan <tullivan99@gmail.com> | 2019-04-29 11:28:55 -0400 |
---|---|---|
committer | Clyne Sullivan <tullivan99@gmail.com> | 2019-04-29 11:28:55 -0400 |
commit | 728c98d9870d472a7497f23a864ef37ed6f46169 (patch) | |
tree | c229f547f97f2cb8902786a9124499ba9dfd5a2f | |
parent | ea4ee734b20dbc5511beb9ec400fb7ffe52ea87e (diff) |
delay draft
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | delay.c | 37 | ||||
-rw-r--r-- | delay.h | 27 | ||||
-rw-r--r-- | main.c | 8 |
4 files changed, 71 insertions, 2 deletions
@@ -3,6 +3,7 @@ CFLAGS = -mmcu=msp430g2553 -std=gnu99 \ -Os CSRC = board.c \ + delay.c \ i2c.c \ temp.c \ main.c @@ -0,0 +1,37 @@ +/** + * @file delay.c + * Delay support using a timer. + * + * Copyright (C) 2019 Clyne Sullivan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +#include "board.h" + +static unsigned int delayTicks = 0; + +void delayInit(void) +{ + TACCTL0 |= CCIE; + TACCR0 = 1000; + TACTL |= TASSEL_1 | MC_1; +} + +__attribute__((__interrupt__(TIMER0_A0_VECTOR))) +static void delayInterruptHandler(void) +{ + P1OUT ^= LED; + delayTicks++; +} @@ -0,0 +1,27 @@ +/** + * @file delay.h + * Delay support using a timer. + * + * Copyright (C) 2019 Clyne Sullivan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +#ifndef DELAY_H_ +#define DELAY_H_ + +void delayInit(void); + +#endif // DELAY_H_ + @@ -19,6 +19,7 @@ */ #include "board.h" +#include "delay.h" #include "temp.h" void main(void) @@ -26,9 +27,12 @@ void main(void) // Prepare processor and IO boardInit(); + delayInit(); + __enable_interrupt(); + // Prepare temperature sensor - if (tempInit() != 0) - while (1); // Sensor error, halt + //if (tempInit() != 0) + // while (1); // Sensor error, halt while (1); } |