[En-Nut-Discussion] AVR ADC sample fails
Harald Kipp
harald.kipp at egnite.de
Tue Jul 7 16:58:09 CEST 2009
Ole Reinhardt wrote:
> Indeed you found a bug :) The intention was to _not_ overwrite memory as
> we (want) to allocate two more words than ADC_BUF_SIZE. But instead we
> just allocate 2 more bytes! The line should be:
>
> ADC_buffer = NutHeapAlloc(sizeof(uint16_t) * (ADC_BUF_SIZE + 2));
This fixed the problem, NutSleep is working again. Many thanks for
looking into it.
>> Please tell me, that I'm not getting too old for this stuff,
>
> You are getting too old for this stuff, but you are still young enough
> to find very old bugs :)
My thanks from above are canceled. ;-)
Harald
Off topic:
> But I'd still vote for
>
> #define ADC_BUF_TAIL (ADC_BUF_SIZE+1)
> [...]
> buf[ADC_BUF_TAIL] = 0;
>
> instead of using
>
> buf[ADC_BUF_SIZE+1] = 0;
The disadvantage is, that something is hidden. What's the advantage then?
More information about the En-Nut-Discussion
mailing list