Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Ania30
-
-
Posty:124
Rejestracja:31 lip 2018, o 07:57
Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: Ania30 » 1 sie 2018, o 10:02

Mam kilka kodów w j.C które działają tak jak chcę tj. 64/64 sek niektóre zajmują 12 linijek.
Co do CD4060 ,ja mam to zrobione na CD4047 ,wystarczy dodać 1 opornik i 1 kondensator, duty 50 % i stanie niskim i wysokim 64 sek i działa wyśmienicie.
Chciałam zobaczyć na jaką pomoc i profesjonalizm mogę tutaj liczyć,a to widać ,słychać i czuć, na jaką.
Ostatnio zmieniony 1 sie 2018, o 10:50 przez Ania30, łącznie zmieniany 4 razy.

Ania30
-
-
Posty:124
Rejestracja:31 lip 2018, o 07:57

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: Ania30 » 1 sie 2018, o 10:04

Jeden mój kody w.j C który zajmują 12 linijek działa na wszystkie mikrokontrolery ,pozostałe także.
Ostatnio zmieniony 1 sie 2018, o 10:50 przez Ania30, łącznie zmieniany 2 razy.

Awatar użytkownika
ACeK
-
-
Posty:1522
Rejestracja:30 mar 2003, o 19:35
Lokalizacja:Kielce

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: ACeK » 1 sie 2018, o 10:12

... czuć,..
Obrazek To nie ladnie tak publicznie powiedziec ze moja maskotka cuchnie :twisted: Kobieta powinna to zrobic bardziej subtelnie np PW Obrazek

Awatar użytkownika
r-mik
-
-
Posty:351
Rejestracja:14 cze 2005, o 19:18
Lokalizacja:Wawa
Kontaktowanie:

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: r-mik » 1 sie 2018, o 10:30

Mam kilka kodów w j.C które działają tak jak chcę tj. 64/64 sek niektóre zajmóją 14 linijek.
To po co pchać się w asm?
Co do CD4060 ,ja mam to zrobione na CD4047 duty 50 % i stanie niskim 64 sek i działa wyśmienicie.
Jeśli działa poprawnie to po co ulepszać dobre? Gdyby na sprzedaż, to rozumie, cel marketingowy "Mikroprocesorowy, precyzyjny...." w podtekście wyciągacz pieniędzy, jak np "Najprostszy sposób oszczędzania prądu elektrycznego zobacz tutaj >> Oszczędności -50%! + Zniżka 50%! Jedyne 219zł" a w środku kondensator z 1zł.
Jeśli do własnego użytku, to czy będą to 64 sekundy, 30, czy 2 minuty nie ma to znaczenia. Co do 50%, to odchyłka kilku % też nie będzie miała większego wpływu na nierównomierność korozji elektrod.

Co do przydatności urządzenia to już się wypowiedziałem. W smaku czysta a brudna woda z kranu, źródła, itp (czysta chemicznie woda nie ma smaku i nie przewodzi prądu, więc elektrolizer by nie działał) różni sie smakiem, to czy jest lepsza to sprawa gustu. Np większości ludziom, nie smakuje mleko prosto od krowy! Wolą to "uzdatniane" (odessanie tłuszczu zwierzęcego aby zrobić masło i dodanie roślinnego w to miejsce) z mleczarni. Są przyzwyczajeni to tego białego płynu (mlekiem tego nazwać nie można) od prawdziwego mleka, bo od zawsze pili to (nie)mleko.
Proponuje zrobić analizę chemiczną wody po potraktowaniu tym elektrolizerem. Także ślepe testy smaku przez miarodajną grupę osób. Mojej mamie Kaszpirowski pomagał do chwili gdy nie okazało się, że to oszust. Później pomagał Nowak (dziwne, że jedynie dobra woda nadająca się do energetyzowania co jakiś czas się zmieniała wraz z tym jak zmieniał się sponsor) do czasu, jak nie okazało się, że wszyscy bioenergoterapeuci to oszuści. Nadal jednak pojawiają się nowi "magicy", cudowne "oszczędzacze energii" "ulepszacie wody" i nowi naiwniacy dzięki czemu biznes się kręci.

Waracając do wody, proszę przefiltrować przez węgiel aktywny. Ma gorszy smak niż przed filtrowaniem? Tak (pomijam filtrowanie wody z sadzawki, piszę o wodzie pitnej). Dlaczego gorszy? Bo jest czysta, większość minerałów została odfiltrowana.
Mam kilka kodów w j.C które działają tak jak chcę tj. 64/64 sek niektóre zajmują 14 linijek.

Kod: Zaznacz cały

main(){ DDRB = 0xFF; while(1){ PORTB = 0xF0; _delay_ms(64000); PORTB = 0x0F; _delay_ms(64000); } }
Do zadziała w miarę według założeń. Te 64sekundy to nie będzie tak super dokładnie i 50% tez nie przy czym błąd to będą (pomijam dokładność kwarcu) promile. 50% ma odchyłkę, bo jest wykonywany skok po drugim delay (zakładam, ze nie ma optymalizacji) wiec jedna połówka jest dłuższa o 2 takty zegara. Taktowanie 1MHz, cykl maszynowy 1us. 1us do 64e9us to he, he 1,5625E-9% w przybliżeniu 0,000000015%.
Cóż, bioenergoterapeuta czy inny szarlatan/manipulator wmówi, że to bardzo duża różnica. Tyle, że 1ppm to "kosmos" podług tych ułamków.

Ania30
-
-
Posty:124
Rejestracja:31 lip 2018, o 07:57

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: Ania30 » 1 sie 2018, o 11:00

Czy tutaj ktoś potrafi w j.C,lub innym dogodnym , podać kod aby duty 50% było idealne,wypełnienie może być w przedziale od 60 do 70 sekund ,okres od 120 sek do 140 sekund.
Czy zastąpienie delay millis popraiwi dokładnośc duty 50%.
Czy zamiast ms,us,danie ns porawi duty 50 %

Awatar użytkownika
r-mik
-
-
Posty:351
Rejestracja:14 cze 2005, o 19:18
Lokalizacja:Wawa
Kontaktowanie:

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: r-mik » 1 sie 2018, o 11:42

Czy zastąpienie delay millis popraiwi dokładnośc duty 50%.
Użycie timera da dokładnie (w granicach możliwości oscylatora) 50%. Różnica pomiędzy delay a sprzętowym sterowaniem będzie widać tym bardziej im wyższa jest częstotliwość sygnału wyjściowego. Gdyby sygnał miał 20kHz już byłoby widać różnice, przy MHz bardzo duże. Przy 64 sekundach wyliczyłem błąd. Błąd jest o co najmniej rząd mniejszy niż "pływanie" oscylatora. Po co więc tak ogromna dokładność? Aby to miało sens, potrzebny jest precyzyjny oscylator, koszt ok 1500zł netto.

Skoro ma już być taka super precyzja jak przy obliczaniu położenia w systemie GALILEO to proponuje dać odbiornik GPS (ok 40zł) z anteną (kolejne 40zł). Z wyjścia PPS dzielnik przez 64 i memy ekstra precyzję za cenę poniżej 100zł. Jakiś uC też się przyda aby wyświetlić informację czy sygnał 1pps jest stabilny. Na uzyskanie stabilności GPS potrzebuje ok 20minut, chyba, ze już taka synchronizacja była a moduł ma podtrzymanie bateryjne. Wtedy trwa to ok 5 minut.


Podsumuję tak:
Jeśli klient chciałby abym zrobił mu precyzyjny generator to go zrobię, zapłaci za to słono a efekty będą takie same (czyli żadne) jak i na rozwiązaniu 100 razy tańszym.
Programy, które było już pokazane spełniają z nawiązką stawiane im zadanie. Niedokładność generowanego sygnału jest na poziomie promili promili. Wyliczone 0,000000015% to 0,00000015%%(promila).
Bardziej obrazowo, czy zarabiając 5000zł na miesiąc zmieni się pracę na inną bo zaoferują 5000,00000075zł?
Nawet jak w obliczeniach pomyliłem się o 1000 razy to 5000,00075zł. Sto tysięcy 5000,75zł.

Awatar użytkownika
ACeK
-
-
Posty:1522
Rejestracja:30 mar 2003, o 19:35
Lokalizacja:Kielce

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: ACeK » 1 sie 2018, o 11:48

Obrazek Nie wiem jaki masz problem :roll: Program ktory masz podany w dwuch wersjach dziala poprawnie :idea: Jesli tak bardzo Ci zalezy na 50-50% to wystarcz dopisac dwa rozkazy nop (jak proponuje r-mik) na poczatku main:
  • main:
    nop ;1 cycle
    nop ;1 cycle
    ldi r16, 0b1111_1110 ;1 cycle
    out portb, r16 ;1 cycle
    rcall del_s
    ldi r16, 0b1111_1101 ;1 cycle
    out portb, r16 ;1 cycle
    rcall del_s
    rjmp main ;2 cycles
Podaj czym programujesz i w jaki sposob stwierdzasz ze program z hex nie dziala :idea:
Tu masz wsad z dodanymi rozkazami nop
  • :020000020000FC
    :1000000000C004E00EBF0FE50DBF0FEF07BB0000FF
    :1000100000000EEF08BB04D00DEF08BB01D0F7CFF6
    :10002000CAEF0000E8E5FEE93196F0F7CA95C9F796
    :02003000089531
    :00000001FF
:uhoh: Trudno pomoc jak ktos mowi ze nie dziala ale nie mowi co i jak robi Obrazek

Awatar użytkownika
r-mik
-
-
Posty:351
Rejestracja:14 cze 2005, o 19:18
Lokalizacja:Wawa
Kontaktowanie:

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: r-mik » 1 sie 2018, o 12:06

Właśnie o nop chciałem napisać:
main()
{
DDRB = 0xFF;
while(1)
{
nop();
nop();
PORTB = 0xF0;
_delay_ms(64000);
PORTB = 0x0F;
_delay_ms(64000); **
}
}
Tak to będzie wyglądać po skompilowaniu do asm:
DDRB = 0xFF;//==START
c7e: 8f ef ldi r24, 0xFF ; 255
c80: 84 b9 out 0x04, r24 ; 4
while(1)
{
nop();
nop();
PORTB = 0xF0;
c82: 50 ef ldi r21, 0xF0 ; 240
milliseconds can be achieved.
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
c84: 28 ec ldi r18, 0xC8 ; 200
c86: 30 e0 ldi r19, 0x00 ; 0
_delay_ms(64000);
PORTB = 0x0F;
c88: 4f e0 ldi r20, 0x0F ; 15


DDRB = 0xFF;//==START
while(1)
{
nop();
c8a: 00 00 nop
nop();
c8c: 00 00 nop
PORTB = 0xF0;
c8e: 55 b9 out 0x05, r21 ; 5
c90: 8f ef ldi r24, 0xFF ; 255
c92: 9f ef ldi r25, 0xFF ; 255
c94: f9 01 movw r30, r18
c96: 31 97 sbiw r30, 0x01 ; 1
c98: f1 f7 brne .-4 ; 0xc96 <main+0x18>
__ticks = (uint16_t) (__ms * 10.0);
while(__ticks)
{
// wait 1/10 ms
_delay_loop_2(((F_CPU) / 4e3) / 10);
__ticks --;
c9a: 01 97 sbiw r24, 0x01 ; 1
__ticks = 1;
else if (__tmp > 65535)
{
// __ticks = requested delay in 1/10 ms
__ticks = (uint16_t) (__ms * 10.0);
while(__ticks)
c9c: d9 f7 brne .-10 ; 0xc94 <main+0x16>
_delay_ms(64000);
PORTB = 0x0F;
c9e: 45 b9 out 0x05, r20 ; 5
ca0: 8f ef ldi r24, 0xFF ; 255
ca2: 9f ef ldi r25, 0xFF ; 255
ca4: f9 01 movw r30, r18
ca6: 31 97 sbiw r30, 0x01 ; 1
ca8: f1 f7 brne .-4 ; 0xca6 <main+0x28>
{
// wait 1/10 ms
_delay_loop_2(((F_CPU) / 4e3) / 10);
__ticks --;
caa: 01 97 sbiw r24, 0x01 ; 1
__ticks = 1;
else if (__tmp > 65535)
{
// __ticks = requested delay in 1/10 ms
__ticks = (uint16_t) (__ms * 10.0);
while(__ticks)
cac: d9 f7 brne .-10 ; 0xca4 <main+0x26>
cae: ed cf rjmp .-38 ; 0xc8a <main+0xc>

ale dla zegara 14,567MHz a nie 1MHz.


Teraz proponuję policzyć jitter oscylatora jak się ona ma do tych 0,000000015%.

* bez znaczników CODE bo źle formatuje.
** Nie wiem czy przypadkiem nie powinno być:
_delay_ms(64000UL);

:uhoh: Trudno pomoc jak ktos mowi ze nie dziala ale nie mowi co i jak robi Obrazek
Tym bardziej, że nadal nie ma schematu jak LED-y są podłączone. Jest schemat z X-ami, ale gdzie podłączone są X? Tego pewnie nawet autorka nie wie.

Ania30
-
-
Posty:124
Rejestracja:31 lip 2018, o 07:57

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: Ania30 » 1 sie 2018, o 13:16

Oto program w j.C, na 12 linijek ,działa na wszystkich uC.
Czy można go tak przerobić aby nie był bez delay, a z millis.
Czy zamiast while(1),danie, for(;;){, poprawi coś ?
Kod wgrałam do uC i działa.
kod:
#include <avr/io.h>
#include <util/delay.h>

int main (void)
{
DDRB = (1<<PB1)|(1<<PB2);
PORTB|=(1<<PB1);
while(1)
{

PORTB ^= (1<<PB1)|(1<<PB2);
_delay_us(64000000);
}
}

Awatar użytkownika
r-mik
-
-
Posty:351
Rejestracja:14 cze 2005, o 19:18
Lokalizacja:Wawa
Kontaktowanie:

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: r-mik » 1 sie 2018, o 13:34

Jeśli mowa o millis to Arduino. Millis spowoduje zwiększenie błędu 50% wypełnienia przebiegu. Jaki jest cel użycia millis? Będą wykonywane jeszcze jakieś zadania? Jeśli tak, to nie tylko millis (jego odpowiednik) ale także sprzętowe sterowanie wyjściem przez timer. Nie proponuję rozwiązania sterowania GPIO w przerwaniach, bo inne przerwania mogą zwiększyć jitter. Samo użycie przerwań zwiększy jitter. Wynika to choćby z tego, że w procedurę obsługi przerwania uC wejdzie po zakończeniu wykonywania bieżącego rozkazu, a rozkaz może wykonywać się 1 lub 2 cykle. No i te promile promili będą większe ale i tak kilka rzędów razy mniejsze niż jitter oscylatora.


PS
Do tej zabawki wymagana jest dokładność większa niż do określenia położenia obiektu w przestrzeni na podstawie sygnału radiowego (GPS, GALILEO)? Zanieczyszczacz wody ma aż takie wymagania? Oscylator za 1500zł? Pewnie platynowe przewody?

Awatar użytkownika
ACeK
-
-
Posty:1522
Rejestracja:30 mar 2003, o 19:35
Lokalizacja:Kielce

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: ACeK » 1 sie 2018, o 13:36

... dioda LED czerwona (anoda do portu PB0, katoda do PB1)
dioda LED zielona (katoda podłączona do PB0, anoda do PB1) ...
PORTB ^= (1<<PB1)|(1<<PB2);
Obrazek Moze problem jest ze masz podpiete diody inaczej niz opisane w programie :?
Tu masz program na atmega8a piny na porcie B zmieniaja sie na przemian :idea:
  • .nolist
    .include "m8adef.inc"
    .list
    .cseg
    .equ fosc = 1 ;czestotliwosc kwarcu w MHz
    .org 0
    rjmp ResetProcessor

    ResetProcessor:
    ldi r16, high(RAMEND) ; init stack pointer
    out SPH, r16
    ldi r16, low (RAMEND) ; init stack pointer
    out SPL, r16

    ldi r16, 0xff
    out ddrb, r16

    main:
    nop ;1 cycle
    nop ;1 cycle
    ldi r16, 0b1010_1010 ;1 cycle
    out portb, r16 ;1 cycle
    rcall del_s
    ldi r16, 0b0101_0101 ;1 cycle
    out portb, r16 ;1 cycle
    rcall del_s
    rjmp main ;2 cycles

    del_s:
    ldi R28, 250
    del_ss:
    nop
    del_100ms:
    ldi r30, low (-100000*fosc/4)
    ldi r31, high(-100000*fosc/4) ;opoznienie 100ms

    delay:
    adiw r30, 1 ;dwubajtowe dodawanie
    brcc delay ;skok gdy nie nastapilo przepelnienie pary R31R30

    dec r28
    brne del_ss
    ret
    .exit
Tu HEX
  • :020000020000FC
    :1000000000C004E00EBF0FE50DBF0FEF07BB0000FF
    :1000100000000AEA08BB04D005E508BB01D0F7CF11
    :10002000CAEF0000E8E5FEE93196F0F7CA95C9F796
    :02003000089531
    :00000001FF
Obrazek

Awatar użytkownika
r-mik
-
-
Posty:351
Rejestracja:14 cze 2005, o 19:18
Lokalizacja:Wawa
Kontaktowanie:

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: r-mik » 1 sie 2018, o 13:40

Kod wgrałam do uC i działa.
Tylko nie mam licznika czasu za 100000zł aby sprawdzić jaki jest jitter :-)

Awatar użytkownika
r-mik
-
-
Posty:351
Rejestracja:14 cze 2005, o 19:18
Lokalizacja:Wawa
Kontaktowanie:

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: r-mik » 1 sie 2018, o 14:01

Kod wgrałam do uC i działa.
Tylko nie mam licznika czasu za 100000zł aby sprawdzić jaki jest jitter :-)
A policzyłaś jaki jest jitter oscylatora? Jakie spowoduje odchyłki? Czy walka przy czasie 64sekundy czyli 64e6 (64000000) o te 2us ma sens?

Chcesz użyć millis, bo pewnie słyszałaś, że millis jest lepsze od delay. Millis dotyczy Arduinowców a ten temat nie dotyczy Arduino. Fakt, że delay (czy w Arduino czy gdzie indziej) blokuje program, umiejętnie użyte millis (lub podobnych mechanizmów) nie. Pytanie. Poza sterowaniem elektrodami (ledami) co jeszcze będzie robił program? Wysyłał coś po Wi-Fi, GSM? Może na wyświetlacz albo USB?

Millis lub funkcja alternatywna zwiększy jitter, z którym tak zaparcie walczysz. Gdzie więc sens? Gdzie logika?

Ania30
-
-
Posty:124
Rejestracja:31 lip 2018, o 07:57

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: Ania30 » 1 sie 2018, o 14:09

Brawo ACeK !!!!!!
Wgrałam pik hex, do Atmega 8A,na pinie PB1 i PB2 działa !!!!!!!,jest zmiana polaryzacji co 64 sekund tak jak chciałam.
Wielkie dzięki.
Tylko jestem ciekawa jak z tą dokładnością 50%/50% jest.
Czy jak w programie dać tylko jedną parę pin np.PB1 i PB2 ,a pozostałe piny B aby ich nie było,czy to zwiększy dokładność 50%/50%
Ostatnio zmieniony 1 sie 2018, o 14:23 przez Ania30, łącznie zmieniany 1 raz.

Awatar użytkownika
ACeK
-
-
Posty:1522
Rejestracja:30 mar 2003, o 19:35
Lokalizacja:Kielce

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: ACeK » 1 sie 2018, o 14:23

Obrazek Powtorka z rozrywki :arrow: Program do ATMEGA8A-16PU DIP28 zmiana biegunów zasilania :lol:
Nowy program mam nadzieje ostatni z happy endem :wink:
W tej chwili opoznienie jest troche wieksze niz 25 sekund. Zeby bylo 64 nalezy zmienic liczbe 250 na 160 :idea: Oraz dodac extra rcall del_s
  • .nolist
    .include "m8adef.inc"
    .list
    .cseg
    .equ fosc = 1 ;czestotliwosc kwarcu w MHz
    .org 0
    rjmp ResetProcessor

    ResetProcessor:
    ldi r16, high(RAMEND) ; init stack pointer
    out SPH, r16
    ldi r16, low (RAMEND) ; init stack pointer
    out SPL, r16

    ldi r16, 0xff
    out ddrb, r16

    main:
    nop ;1 cycle
    nop ;1 cycle
    ldi r16, 0b1010_1010 ;1 cycle
    out portb, r16 ;1 cycle
    rcall del_s
    rcall del_s
    rcall del_s
    rcall del_s
    ldi r16, 0b0101_0101 ;1 cycle
    out portb, r16 ;1 cycle
    rcall del_s
    rcall del_s
    rcall del_s
    rcall del_s
    rjmp main ;2 cycles

    del_s:
    ldi R28, 160
    del_ss:
    nop
    del_100ms:
    ldi r30, low (-100000*fosc/4)
    ldi r31, high(-100000*fosc/4) ;opoznienie 100ms

    delay:
    adiw r30, 1 ;dwubajtowe dodawanie
    brcc delay ;skok gdy nie nastapilo przepelnienie pary R31R30

    dec r28
    brne del_ss
    ret
    .exit
Tu ponownie HEX
  • :020000020000FC
    :1000000000C004E00EBF0FE50DBF0FEF07BB0000FF
    :1000100000000AEA08BB0AD009D008D007D005E5DD
    :1000200008BB04D003D002D001D0F1CFC0EA000059
    :0E003000E8E5FEE93196F0F7CA95C9F70895A4
    :00000001FF
Milego dnia Obrazek

Ania30
-
-
Posty:124
Rejestracja:31 lip 2018, o 07:57

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: Ania30 » 1 sie 2018, o 14:24

Dziękuję nawzajem.
Czy jak w programie dać tylko jedną parę pin np.PB1 i PB2 ,a pozostałe piny B aby ich nie było,czy to zwiększy dokładność 50%/50%

Awatar użytkownika
r-mik
-
-
Posty:351
Rejestracja:14 cze 2005, o 19:18
Lokalizacja:Wawa
Kontaktowanie:

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: r-mik » 1 sie 2018, o 14:25

Wgrałam pik hex, do Atmega 8A,na pinie PB1 i PB2 działa !!!!!!!,jest zmiana polaryzacji co 64 sekund tak jak chciałam.
Czym jest taktowany uC? Generator RC? Kwarc? Oscylator?

Ania30
-
-
Posty:124
Rejestracja:31 lip 2018, o 07:57

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: Ania30 » 1 sie 2018, o 14:26

AVR Studio 5.1 przy kompilacji daje z automatu 1 MHz,chyba ,tak myślę.
Jest sam uC bez żadnego dodatku,tj.bez kwarcu,RC.,bez niczego,goły.

Awatar użytkownika
ACeK
-
-
Posty:1522
Rejestracja:30 mar 2003, o 19:35
Lokalizacja:Kielce

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: ACeK » 1 sie 2018, o 14:32

... Czy jak w programie dać tylko jedną parę pin np.PB1 i PB2 ,a pozostałe piny B aby ich nie było,czy to zwiększy dokładność 50%/50%
Obrazek Bez znaczenia :idea: Teraz masz na 100% 50-50% Obrazek

Awatar użytkownika
r-mik
-
-
Posty:351
Rejestracja:14 cze 2005, o 19:18
Lokalizacja:Wawa
Kontaktowanie:

Re: Attiny 2313A zmiana stanu wysokiego na niski,duty cycle 50%

Postautor: r-mik » 1 sie 2018, o 14:48

AVR Studio 5.1 przy kompilacji daje z automatu 1 MHz,chyba ,tak myślę.
Jest sam uC bez żadnego dodatku,tj.bez kwarcu,RC.,bez niczego,goły.
Skoro tak, to generator RC.
Proponuje spojrzeć na obrazek https://obrazki.elektroda.pl/2937832200_1363806891.gif
pochodzi z https://www.elektroda.pl/rtvforum/viewt ... 9#12088759
i zastanowić się, czy walka o o te ppm miała sens skoro używany jest generator RC.

Wróć do „AVR/AVR32”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 12 gości