All pastes #10461 Raw Edit

Mine!

public c v1 · immutable
#10461 ·published 2005-04-27 21:56 UTC
rendered paste body
#include "lcddisplay.h"#include "delay.h"#include "ece_types.h"#include "hc11_regs.h"#include "interrupt.h"void TOFhandler(void)__attribute__((interrupt));void IC3handler(void)__attribute__((interrupt));volatile unsigned char *LED = (unsigned char*)0x1404;volatile uint16 flipcount = 0;void putBack(char ch);void counterWrite();const int SIZE = 10;uint32 edgeCounter = 0;uint32 timestamps[SIZE];volatile unsigned int read;volatile unsigned int write;int main(void){	Interrupt_SetVector(INTER_TIMER_OVER,(unsigned int)TOFhandler);	Interrupt_SetVector(INTER_TIC3,(unsigned int)IC3handler);	EnableInterrupts();		hc11_regs[TMSK1] = 0x01;	hc11_regs[TCTL2] = 0x03;	hc11_regs[TMSK2] = 0x80;		read = write = 0;	LCD_Init();	char * line = "Lab 5 - Part 2";	LCD_Print(0,0,line,14);	char * zero = "0000000000";	LCD_Print(1,0,zero,10);	char * greetings = "ECE 3534 Lab 5: Part 2\r\n";	for(int i = 0; i < 24; i++)		putBack(greetings[i]);			while(true)	{		if(read != write)		{			counterWrite();			*LED = 0xFF;			char result;			uint32 test = timestamps[read];			test = test/2;			uint32 number = 1000000000;			while(number >= 1)			{				result = '0';						while(test >= number)				{					test = test - number;					result++;				}				putBack(result);				number = number / 10;			}			putBack('u');			putBack('s');			putBack('\r');			putBack('\n');			read = read + 1;			if(read > SIZE-1)				read = 0;		}	}	return 0;}void IC3handler(void){	uint32 temp = Combine16(flipcount,Read16Reg(TIC3H));	timestamps[write] = temp;	write = write + 1;	*LED = (unsigned char)write;	if(write > SIZE-1);		write = 0;	hc11_regs[TFLG1] = 0x01;}void counterWrite(){	uint32 number = 1000000000;	char temp;	char * writer;	int count = 0;	edgeCounter = edgeCounter + 1;	uint32 test = edgeCounter;	while(number >= 1)	{		temp = '0';		while(test >= number)		{			test = test - number;			temp = temp + 1;		}		*writer = temp;        LCD_Print(1,count,writer,1);		count++;		number = number / 10;	}}void putBack(char ch){	while((hc11_regs[SCSR] & 0x80) != 0x80)	{}	hc11_regs[SCDR] = ch;}void TOFhandler(void){	flipcount++;	hc11_regs[TFLG2] = 0x80;}