Fix timer interrupt
This commit is contained in:
		@@ -2,13 +2,6 @@
 | 
			
		||||
 | 
			
		||||
#include <arch/time.h>
 | 
			
		||||
 | 
			
		||||
void external_0(void) __interrupt(0) {}
 | 
			
		||||
// timer_0 is in time.c
 | 
			
		||||
void external_1(void) __interrupt(2) {}
 | 
			
		||||
void timer_1(void) __interrupt(3) {}
 | 
			
		||||
void serial(void) __interrupt(4) {}
 | 
			
		||||
void timer_2(void) __interrupt(5) {}
 | 
			
		||||
 | 
			
		||||
void arch_init(void) {
 | 
			
		||||
    // Disable interrupts
 | 
			
		||||
    EA = 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -7,11 +7,12 @@
 | 
			
		||||
static volatile uint32_t time_overflows = 0;
 | 
			
		||||
 | 
			
		||||
void timer_0(void) __interrupt(1) {
 | 
			
		||||
    // Stop timer
 | 
			
		||||
    TR0 = 0;
 | 
			
		||||
 | 
			
		||||
    time_overflows++;
 | 
			
		||||
 | 
			
		||||
    // Restart timer
 | 
			
		||||
    TR0 = 0;
 | 
			
		||||
    TF0 = 0;
 | 
			
		||||
    // Start timer
 | 
			
		||||
    TH0 = 0xFD;
 | 
			
		||||
    TL0 = 0x01;
 | 
			
		||||
    TR0 = 1;
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,15 @@
 | 
			
		||||
#include <common/debug.h>
 | 
			
		||||
#include <common/macro.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void external_0(void) __interrupt(0) {}
 | 
			
		||||
// timer_0 is in time.c
 | 
			
		||||
void timer_0(void) __interrupt(1);
 | 
			
		||||
void external_1(void) __interrupt(2) {}
 | 
			
		||||
void timer_1(void) __interrupt(3) {}
 | 
			
		||||
void serial(void) __interrupt(4) {}
 | 
			
		||||
void timer_2(void) __interrupt(5) {}
 | 
			
		||||
 | 
			
		||||
uint8_t main_cycle = 0;
 | 
			
		||||
 | 
			
		||||
void init(void) {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,15 @@
 | 
			
		||||
#include <common/debug.h>
 | 
			
		||||
#include <common/macro.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void external_0(void) __interrupt(0) {}
 | 
			
		||||
// timer_0 is in time.c
 | 
			
		||||
void timer_0(void) __interrupt(1);
 | 
			
		||||
void external_1(void) __interrupt(2) {}
 | 
			
		||||
void timer_1(void) __interrupt(3) {}
 | 
			
		||||
void serial(void) __interrupt(4) {}
 | 
			
		||||
void timer_2(void) __interrupt(5) {}
 | 
			
		||||
 | 
			
		||||
uint8_t main_cycle = 0;
 | 
			
		||||
 | 
			
		||||
void init(void) {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,15 @@
 | 
			
		||||
#include <common/debug.h>
 | 
			
		||||
#include <common/macro.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void external_0(void) __interrupt(0) {}
 | 
			
		||||
// timer_0 is in time.c
 | 
			
		||||
void timer_0(void) __interrupt(1);
 | 
			
		||||
void external_1(void) __interrupt(2) {}
 | 
			
		||||
void timer_1(void) __interrupt(3) {}
 | 
			
		||||
void serial(void) __interrupt(4) {}
 | 
			
		||||
void timer_2(void) __interrupt(5) {}
 | 
			
		||||
 | 
			
		||||
uint8_t main_cycle = 0;
 | 
			
		||||
 | 
			
		||||
void init(void) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user