eeee to co to za chwila, w procku to jak w matrixie .... najprostsze rozwiązanie to użycie funkcji random - co za problem. 10ms to szmat czasu - wykona się i jeszcze kupa czasu zostanie.
Alternatywne rozwiązanie to na przykład generator liczb losowych (nie pseudolosowych) na ADC, opisany tutaj lub inny całkowicie sprzętowy oparty na generatorze szumu: noise generator
W mikrokontrolerze ATmega32 tryb Free Running mode, włącza się w rejestrze SFIOR bitami ADTS2:0 ustawionymi na 0. Ponieważ jest to domyślny stan tych bitów, to po resecie masz wybrany właśnie ten tryb pracy ADC.
Natomiast w rejestrze ADCSRA musisz ustawić automatyczne wyzwalanie na bicie ADATE:
Cytat:
Bit 5 – ADATE: ADC Auto Trigger Enable
When this bit is written to one, Auto Triggering of the ADC is enabled. The ADC will start a conversion
on a positive edge of the selected trigger signal. The trigger source is selected by setting
the ADC Trigger Select bits, ADTS in SFIOR.
zadałem pytanie czy kod jest teraz poprawny skoro zmieniłem na 2 Mhz i próbuje go dostosować na m32. pytam bo nie moge teraz tego sprawdzić a chce już mieć pewność
Zdziwiło mnie właśnie, że pytasz zamiast sprawdzić - teraz wiem dlaczego Jest OK, choć ADPS0 niepotrzebnie ustawiasz, gdyż w przypadku ATmega32 gdy ADPS2:0 = 0 to preskaler i tak jest równy 2.