ja mei hüpertärminel und excel zwingen mich zu optimierungen
Code:
ISR(SIG_ADC)
{
*pos = ADCH;
if (++pos > end) {
ADCSRA &= ~((1<<ADEN) | (1<<ADIE));
pos = adcval;
UCSRB |= (1<<UDRIE);
}
}
ISR(SIG_UART_RECV)
{
}
ISR(SIG_UART_TRANS)
{
}
ISR(SIG_UART_DATA)
{
UDR = (*pos)/4+'!';
while (!(UCSRA & (1<<UDRE)));
UDR = '\r';
pos++;
if (pos > end) UCSRB &= ~(1<<UDRIE);
}
messreihen haben ergeben dass ich DENNOCH nicht unter ADC prescaler 8 gehen kann, da kommt nur schrott raus .... die schwebung hängt wirklich nur mit der frequenz zusammen, wenn ich die impulsfrequenz nur ein wenig verschiebe, klärt sich die schwebung zu einer gleichmäßigen schwingung, die um +/- 2 vom zielwert herumschwingt
da es im moent nur provisorisch ist und die zeit unkritisch habe ich die ascii anpassung in die UART ISR verlegt
also wie ich mit dem prescaler noch vernünftig auf 2 runterkommen soll ist mir absolut unklar, liegt vermutlich an den 16Mhz dass ich nicht tiefer als 8 komme, bei 4 komme ich auf umgerechnet eine frequenz von 1,8kHz also 0.8kHz zu viel die abtastung wird also nur um etwa 10% schneller statt sich zu verdoppeln
Lesezeichen