yay, we had a a stack collission. Works now.

master
Paul Goeser 14 years ago
parent d160356605
commit dfbbe317b9

22
gg.c

@ -28,10 +28,10 @@ void timer_init_tiny26(void)
TIMSK = 1 << TOIE1;/* interrupt on overflow */ TIMSK = 1 << TOIE1;/* interrupt on overflow */
} }
#define BUFFER_SIZE 32 #define BUFFER_SIZE 16
uint16_t buffer[BUFFER_SIZE];/* buffer for mmc data */ uint16_t buffer[BUFFER_SIZE];/* buffer for mmc data */
ringbuf_t rb; ringbuf_t rb;
uint32_t length;/* remaining samples */ int32_t length;/* remaining samples */
/*ISR(TIMER1_OVF1_vect, ISR_NAKED) /*ISR(TIMER1_OVF1_vect, ISR_NAKED)
{ {
@ -58,7 +58,7 @@ ISR(TIMER1_OVF1_vect){
if(!--cnt_to_next){ if(!--cnt_to_next){
ringbuf_get(&rb, &next); ringbuf_get(&rb, &next);
OCR1B = next>>8; OCR1B = next>>8;
cnt_to_ocr_incr = 8 - (next & 0x7); cnt_to_ocr_incr = 8 - ((next>>5) & 0x7);
cnt_to_next = 8; cnt_to_next = 8;
/* if(!--length) /* if(!--length)
{ {
@ -90,25 +90,19 @@ int main(void)
timer_init_tiny26(); timer_init_tiny26();
sei(); sei();
_delay_ms(1); _delay_ms(1);
char_to_sound(25);
debug = mmc_read_part(1, (unsigned char *) &length, 4);
debug = 1;
if(length==0){
debug = 2;
}
char_to_sound((length>>24) & 0xff);
mmc_read_part(0, (unsigned char *) &length, 4); mmc_read_part(0, (unsigned char *) &length, 4);
char_to_sound((length>>8) & 0xff);
/*
unsigned long block = 0; unsigned long block = 0;
for(;; block++) while(length > 0)
{ {
//mmc_read_to_ringbuffer(block, &rb); //mmc_read_to_ringbuffer(block, &rb);
mmc_read_to_ringbuffer(0, &rb); mmc_read_to_ringbuffer(block, &rb);
length -= 256;
block++;
} // */ } // */
// debug = 0; // debug = 0;

@ -14,7 +14,7 @@ Copyright (C) 2004 Ulrich Radig
//#define SPI_Mode 1 //1 = Hardware SPI | 0 = Software SPI //#define SPI_Mode 1 //1 = Hardware SPI | 0 = Software SPI
#define SPI_Mode 0 #define SPI_Mode 0
#define WAIT_HALF_CLOCK _delay_us(0.5) #define WAIT_HALF_CLOCK _delay_us(0.1)
#define WAIT_HALF_CLOCK_SLOW _delay_us(20) #define WAIT_HALF_CLOCK_SLOW _delay_us(20)
#define MMC_Write PORTA //Port an der die MMC/SD-Karte angeschlossen ist also des SPI #define MMC_Write PORTA //Port an der die MMC/SD-Karte angeschlossen ist also des SPI

Loading…
Cancel
Save