Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Bascom] attiny2313 program do migającej diody

binkosss 30 Sty 2015 22:47 1059 9
  • #1 30 Sty 2015 22:47
    binkosss
    Poziom 6  

    Witam, mam nietypowy problem z programem do attiny2313, który powinien w zasadzie działać a nie działa. nie będę owijał w bawełnę zbudowałem przekaźnik sterowany mikrokontrolerem attiny2313 jak ktoś chce zobaczyć to proszę:Link
    potrzebowałem czegoś takiego, ponieważ chciałem zrobić interwałometr do aparatu Canon1100D plan był prosty dać na port w tym przypadku pinb.6 stan wysoki co około 10 s na jakąś 1 s, tak aby przekaźnik zwarł styki i łącząc z aparatem zrobiłoby zdjęcie, wszystko pięknie,podczas testów kodu(testowałem na diodzie led tak aby zobaczyć czy kod dobrze działa) gdy działał to podłączyłem do przekaźnika wg wzoru z tamtego linku. i działało przekaźnik działał ale dlatego ze podczas testów używałem różnych liczb do sterowania komendą Waitms to chciałem zrobić tak aby dioda zapaliła się na około 1s co około 10s wg kodu:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    (w zasadzie mam coś nie tak z oscylatorem i jak pisze 3s to dioda pali sie 6s ale napisze np 200 to jest około 1 s a 4000 to jest około 10s) dioda i tak powinna sie palic chwile i gasnąc na dłuższą chwile i tak Loop, a tak nie robi tylko zauważyłem (nawet mierzyłem stoperem:D)ze jak zrobię tak:
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod
    to dioda zapalała się co około 10s i gasła co około 10s i pytanie czy coś nie tak z kodem ?
    z góry dziękuje

    0 9
  • #2 31 Sty 2015 08:23
    BlueDraco
    Specjalista - Mikrokontrolery

    W Bascom nie programuję, ale na moje oko jeśli chcesz nadać wartość wyjściu to powinieneś pisać do PORTB, a nie do PINB.

    0
  • #5 31 Sty 2015 12:08
    binkosss
    Poziom 6  

    zgadza się napisałem od nowa i działa użyłem portb.6 i jest tak jak chciałem teraz mam pytanie odnośnie oscylatora w zasadzie korzystam z wewnętrznego chyba 4mhz dzielonego tez chyba bo bascom jakoś to dziwnie pokazuje ustawiłem na wewnętrzny oscylator i dzielnik przez 8 gdy odświeżyłem fusebity to wartości się zmieniają zrobię screeny jeśli chcecie zobaczyć problem.jakie są ustawienia fabryczne fusebity (w bascomie) i jak zrobic aby 1000ms było tymi prawdziwymi 1000ms

    0
  • #6 31 Sty 2015 13:25
    yokoon
    Poziom 28  

    Witam.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0
  • #7 31 Sty 2015 14:38
    373522
    Użytkownik usunął konto  
  • #8 31 Sty 2015 23:23
    binkosss
    Poziom 6  

    czyli mam zmieniać to:$Crystal = 1000000 bo tak to zrozumiałem, to jest tylko (chyba) dla kompilatora. trochę nie rozumiem co daje, jaka jest różnica z zewnętrznym i wewnętrznym oscylatorem np:8mhz i powiedzmy 10mhz lub 4mhz układ,kod,procesor pracuje szybciej czy jak.

    0
  • Pomocny post
    #9 31 Sty 2015 23:50
    373522
    Użytkownik usunął konto  
  • #10 19 Lut 2015 22:40
    binkosss
    Poziom 6  

    Dzięki wielkie dużo zrozumiałem, nawet zamiast tej 1 s co 10 teraz zbudowałem interwałometr z wyświetlaczem 2x 7segment mogę sobie do woli zmieniać liczbę, ale potrzebowałem jakiegoś wzorca dzięki któremu by mi przybliżyło zbudowanie zaawansowanego kodu, wiem żenada pinx.x jest tylko do odczytu a przypisać stany można za pomocą portx.x.

    0