Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

attiny13 - nierowna wydajnosc pradowa na porcie

remzibi 24 Jun 2007 16:24 2632 22
  • #1
    remzibi
    Level 24  
    Czy ktos spotkal sie juz z przypadkiem ze attiny13 nie moze wysterowac diody LED . Po zapuszczeniu programu

    config portb=&111111
    do
    portb=0
    waitms 500
    portb=63
    waitms 500
    loop

    Mierze na wyjsciach napiecia miernikiem i wszystkie wyjscia sie przelaczaja - ale tylko portb.0 i portb.3 jest w stanie wysterowac diode LED z 330 Ohm w szereg wzgledem plusa . reszta portow - nic a nic - napiecie nie schodzi do 0V , wzgledem GND to samo , tylko te dwa wyjscia pracuja - reszta nie podnosi napiecia na pozadany poziom .
    W nocie pisza ze porty 0,1,2 i 5 maja wydajniosc 20mA a reszta 10mA ale to tez sie nie zgadza .
    Dodam ze uklady sa nowe - prosto wyjete z opakowania .
    Jak spowodowac poprawna prace na wszystkich wyjsciach portu ?

    Nastepne pytanie - czy ktos w okolicy Rumi ma programator rownolegly i High Voltage (HVSP) w celu odblokowania resetow w attiny13 ?
  • #2
    lelekx
    Level 30  
    A gdzie ustawienie rejestru kierunku (DDRB)? Bez tego porty ustawiają podciąganie, a same zostają ustawione jako wejściowe.
    Spróbuj
    Code:
    CONFIG PORTB=OUTPUT
    

    albo
    Code:
    LDI r16,&b00111111
    
    !out DDRB, r16
  • #3
    remzibi
    Level 24  
    lelekx wrote:
    A gdzie ustawienie rejestru kierunku (DDRB)? Bez tego porty ustawiają podciąganie, a same zostają ustawione jako wejściowe.
    Spróbuj
    Code:
    CONFIG PORTB=OUTPUT
    

    albo
    Code:
    LDI r16,&b00111111
    
    !out DDRB, r16


    z calym szacunkiem - bez jaj

    instrukcja :
    config portb=&111111
    jest rownowazna instrukcji :
    config portb=&00111111
    jak i :
    config portb=output
    jak i
    config portb.x=output (x od 0 do 8 )
    i instrukcji
    LDI r16,&b00111111
    !out DDRB, r16

    w powyzszym nie bierzemy po uwage bitow 6 i 7 bo ich fizycznie nie ma

    Poprosze o nastepna podpowiedz . A koledze lelekx gratuluje wnikliwosci i spostrzegawczosci w analizie zagadnienia , bez urazy ale nie wcisne klawisza "pomogl" .
  • #4
    Ch.M.
    Level 27  
    Chyba masz starego datashita :)
    w tym co u mnie (Rev.2535E–AVR–10/04) stoi, że: Output Low Voltage(4)
    (PB5, PB1 and PB0) mają obciążalność bezpieczną +/-20mA/5V a pozostałe mniej. Dodatkowo pamiętaj o sumarycznych poborach prądu: "The sum of all IOL, for all ports, should not exceed 60 mA."
    Ściągnij najnowszego pdfa, moze zmieniono te wartości i porównaj z datą wyprodukowania Twego procka
    Pozdrawiam
  • #5
    remzibi
    Level 24  
    Tak bp0 , pb1 i pb5 - 20mA , reszta 10mA - ale to tez nie wyjasnia takiego zachowania .
    Biore LED 1 szt. - i dotykam do kazdej nogi - swieci tylko na pb0 i na pb3 , reszta wyjsc nie pracuje jak trzeba :( . Prad maksymalny nie jest przekroczony .
    Koncza mi sie juz pomysly . Trzeba bedzie chyba dac na wyjscia tranzystory a chcem tego uniknac jak ognia .
    A - ukladdy to attiny13-20SU .
  • #6
    Ch.M.
    Level 27  
    No wiesz przyjacielu, ale PB5 to jest nózka resetu, najpierw musisz zrezygnowac z programowania SPI i przestawić RESET jako normalne I/O by cos sie mogło wogóle z PB5 robić.
    Pozdrawiam
  • #7
    remzibi
    Level 24  
    Ch.M. wrote:
    No wiesz przyjacielu, ale PB5 to jest nózka resetu, najpierw musisz zrezygnowac z programowania SPI i przestawić RESET jako normalne I/O by cos sie mogło wogóle z PB5 robić.
    Pozdrawiam


    Tak , dokladnie przyjacielu , poswiecilem dwa uklady i zablokowalem w nich reset fusbitem - objaw niestety ten sam (napiecia zmieniaja sie prawidlowo ale pod obciazeniem LED - nie prawidlowo ).
    W ukladach w ktorych nie blokowalem resetu - pomijam nozke pb.5 - to jest oczywiste.
  • #8
    Ch.M.
    Level 27  
    hmm no coz, chyba nic nie poradzisz na taki stan rzeczy, albo wzmacniacz operacyjny albo MOSFET, ewentualnie opto...
  • #9
    szod
    Level 32  
    :arrow: remzibi - wątpię żeby producent popisał bzdury w dokumentacji.
    Powiedz jakim napięciem zasilasz µC i co to za dioda LED którą dotykasz do
    poszczególnych pinów? Jak zmienia się dokładnie napięcie na poszczególnych
    końcówkach po podłączeniu LED-a?
  • #10
    remzibi
    Level 24  
    Juz mowie
    Dioda LED najzwyklejsza na swiecie o srednicy 5mm :) .
    W szereg z dioda opornik 330ohm .
    Zasilanie 5V stabilizowane- zasilacz warsztatowy wydajnosci 2A wiec wystarcza napewno .

    Jak widac z programiku - zamieniany jest stan kazdego wyjscia portu co pol sekundy .
    Na wyjsciu pb0 pod obciazeniem dioda miga (dioda wzgedem masu lub wzgledem plusa ) napiecia zmieniaja sie w cakresie 0V i 5V z obciazeniem LED i bez niej .
    Co ciekawe na innych portach bez obciazenia - nie licze pb3 (ten tez pracuje poprawnie) napiecie zmienia sie w granicach 0.27V do 5V (na porcie 0 i 3 od 0 do 5V) .
    Pod obciazeniem (LED do plusa) napiecie zmienia sie od 2,3V do 5V (czyli jakby wyjscie portu nie zwieralo jak trzeba do masy) - i dioda nie swieci lub ledwo sie jarzy .
    Przy diodzie do masy - napiecia na wyjsciu zmieniaja sie od 0,25V do 1,8V i to samo - nie swieci lub ledwo sie jarzy .
    Jedyne porty ktore prawidlowo pracuja i wysterowuja diode to pb0 i pb3 (mimo ze pb3 w nocie jest wydajnosci 10mA ) .
    Zjawisko to jest powtarzalne dla 4 ukladow attiny13 wyjetych prosto z pudelka . Jeden z nich jest dip8 reszta to sop8 .

    Naprawde mam zagadke .
  • #11
    szod
    Level 32  
    Pytając o diodę miałem na myśli kolor. Przecież zależnie od koloru dioda LED
    ma inny spadek napięcia. Powiem tak - jeśli to się dzieje na diodzie czerwonej
    to niespecjalnie mam pomysł co się dzieje. Jak używasz innego koloru, szczególnie
    białej czy niebieskiej LED to efekty takie mogą być.
  • #12
    remzibi
    Level 24  
    Potwierdzam , najzwyklejsza czerwona dioda .
    Co ciekawe zlozylem juz sporo roznych ukladow na roznych atmelach ale pierwszy raz widze taki kwiatek na tych attiny13 .
    Myslalem , ze moze ktorys z kolegow mial juz podbny problem .
    Nigdy bym sie nie spodziewal ze moga byc takie rozbieznosci w wydajnosci pradowej portow .

    Ostatecznie przeprojektuje urzadzenia tak zeby uzywane byly pb0 i pb3 do LED , ale niedosyt i ciekawosc pozostanie .
  • #13
    remzibi
    Level 24  
    Nie wiem czemu , moderator crazy_phisic wywalil do kosza konkretna odpowiedz rozwiazujaca ten problem ? zalezy Ci zeby nikt nie wiedzial jak temu zaradzic ? gdyby nie info na email tez bym tego nigdy nie przeczytal i nie dowiedzial sie co sie dzieje . Wywalaj do kosza glupoty a nie merytoryczne odpowiedzi rozwiazujace konkretne problemy .
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=4924209#4924209
    - napewno przyda sie jeszcze wielu nastepnym userom tak jak i przydala sie tez mi - zwlaszcza , ze raczej nie zaprzestano produkcji tiny13 .
    Na znak protestu na taka lekkomyslnosc wkladam tu cytaty kolegow ktorzy odpowiedzieli a ich posty trafily nieslusznie do kosza :


    manekinen
    --------------------------------------------------------------------------------
    Witam, to może odkopie temat...
    Sam jeszcze dzisiaj miałem taki problem. Wydawało się to bardzo dziwne. A oto rozwiązanie problemu, gdyby jeszcze ktoś na taki problem trafił - a trafi - zapewniam

    BASCOM - oto źródło problemu. Wystarczy skonfigurować każdy pin osobno:
    Kod:

    Config Portb.0 = Output
    Config Portb.1 = Output
    Config Portb.2 = Output
    itp


    I będzie działać, nie ma bata
    Pozdrawiam.

    "Moderowano przez crazy_phisic:
    Archeologia nagradzana jest ostrzeżeniem, proszę o tym pamiętać. " - moderatorze , bez jaj czemu wywaliles rozwiazanie tego problemu ? Gdybym nie dostal info na emaila to do tej pory bym nie wiedzial jak temu zaradzic . Jeszcze chopak ma dostac za to ostrzezenie , za to ze pomogl ? i dlaczego attiny13 to archeologia ? myslalem ze archeologia to dinozaury , Z80 i juz 8051 ? Prosze przywrocic te posty bo chce mu kliknac "pomogl" i sam zamkne temat jako nareszcie rozwiazany .
    ------------------------------

    gufiak
    --------------------------------------------------------------------------------
    To ja przy okazji odniosę się do: Cytat:
    wątpię żeby producent popisał bzdury w dokumentacji.
    Ależ bzdur w tej dokumentacji nie brakuje, chociażby pierwsza strona twierdzi, że ATTINY13 ma 64kB SRAM, a parę stron dalej na schemacie blokowym widnieje blok z pamięcią SRAM... Dokumentacje Atmela niestety charakteryzują się chaotycznością, brakiem przemyślenia i niejednokrotnie bzdurami.


    Moderated By crazy_phisic:

    Skoro od czerwca 2007 nie rozwiązałeś tego problemu, to przepraszam że usunąłem oczywiste rozwiązanie podesłane przez "zirytowanego" użytkownika.

  • #14
    nouki
    Level 25  
    Czesc.

    Miałem taki sam problem z tiny2313 pomoglo to samo rozwiazanie własnie.

    on nie byl w stanie wysterowac niczego co pobieralo ponad 1mA bo inaczej napiecie siadlo do 0,8-1,1v.

    Pozdrawiam.
  • #15
    SteveY
    Level 11  
    Tak się zastanawiam czy ten problem nie jest podobny do czegoś, co ostatnio doświadczam.

    Pracowałem nad odbieraniem sygnałów z pilota (działa w standardzie NEC) i wyświetlaniem wciśniętego guzika na wyświetlaczu LED 3-cyfrowym. 'Obróbkę' sygnałów z odbiornika IR już załatwiłem ale pojawia się taki problem, że jak wyświetlę coś na LED to przestaje działać odbiornik, tak jakby właśnie nie był wystarczająco zasilany.

    Piszę w C ale nie miałem nigdy problemów z ustawianiem portów 'na raz', więc wydaje mi się, że szkopuł tkwi gdzie indziej. Czy ewentualnie mielibyście jakiś propozycje, jak to rozwiązać?

    Zaznaczę, że korzystam z jednej cyfry tylko, więc nawet nie ma żadnego multipleksowania - select cyfry jest podpięty pod Vcc a do PORTB (tiny2313) podpięte są wszystkie segmenty. Nie używam też żadnego tranzystora - może jednak powinienem?

    pozdrawiam
  • #17
    remzibi
    Level 24  
    remzibi wrote:

    crazy_phisic wrote:
    Skoro od czerwca 2007 nie rozwiązałeś tego problemu, to przepraszam że usunąłem oczywiste rozwiązanie podesłane przez "zirytowanego" użytkownika.


    Wystarczy powiedziec , przepraszam , to swiadczy o wielkosci czlowieka i umiejetnosci przyznania sie do bledu . Fakty obronia sie same .

    A czy nie swiadczy o malosci czlowieka fakt , ze niby owszem przeprasza ale jednak wbija jeszcze szpile i udowadnia , ze cos jest oczywiste ( no wlasnie , ze nie jest oczywiste co pokazalem w 3-cim poscie watku , jesli bylo , to czemu od razu sam nie odpowidziales ? swoja droga rzeczywiscie fakt innej kompilacji teoretycznie rownowaznej deklaracji wyjsc w bascom jest zastanawiajacy i nie jest takie oczywisce wpadniecie na to z marszu zwlaszcza po zrobieniu sporej ilosci projektow poprawnie dzialajacych gdzie programowanie zaczyna byc rutyna) i , ze ktos byl "zirytowany" gdy pisal odpowiedz (ciekawe niby dlaczego?) - no jasne , ze byl ale dopiero jak sie jego posta wywalilo do kosza . Sam bym sie zirytowal .
    Ale coz , takie zachowania sa ostatnio bardzo promowane w kregach politycznych niestety , dlatego nie dziwie sie , ze czesc spoleczenstwa im ulega i uznaje za normalne .
    Wiec oswiadczam , ze to nie jest normalne , bo jesli sie kogos zabilo (lub popelnilo cokolwiek innego - zasada jest ta sama) to albo sie tego zaluje i przeprasza , albo uwaza sie ze zrobilo sie to slusznie , wtedy nie ma za co przepraszac . Jezeli jest to zwykly wypadek przy pracy czy przeoczenie to tez wystarczy zwykle sorry i naprawa tego .
    A czy to jest postawa honorowa ? , ze niby sie przeprasza a jednoczesnie sie usprawidliwia mowiac , ze jednak zrobilo sie slusznie ? Jestem za i przeciw ? Rozdwojenie jazni ? .
    To taka uwaga lub dygresja z ktorej , mam nadzieje , wszyscy czytajacy wyciagna wnioski na swoj wlasny dobrze pojety uzytek . Fakty zawsze bronia sie same .

    Ja oczywiscie rozwiazalem swoj problem przeprojektowujac uklad , natomiast teraz wiem , jak i zapewne inni juz wiedza , jak to trzeba bylo zrobic softwarowo . Co napewno wykorzystam praktycznie przy najblizszej nadarzajacej sie okazji .
    Czekam jeszcze 2 dni na ewentualne odpowiedzi i zamykam temat .

    Moderated By crazy_phisic:

    Proszę darować sobie polityczno-umoralniające wycieczki i wszelkie uwagi kierować na PW lub do Administracji.

  • #18
    SteveY
    Level 11  
    mirekk36 wrote:
    SteveY wrote:
    ... Nie używam też żadnego tranzystora - może jednak powinienem?


    a używasz chociaż jakichś rezystorów do segmentów tego wyświetlacza? jeśli nie to nie masz czemu się dziwić


    Rezystory dodałem i śmiga. Użyłem 330. Czy dobrze rozumiem, że chodzi tutaj o całkowity prąd jaki może być na wyjściach procka, który był przekraczany przy braku oporników a dodanie ich naprawiło ten błąd?

    Przepraszam za takie podstawowe pytania ale dopiero zaczynam :)
  • #19
    mirekk36
    Level 42  
    dziSteveY -> dzięki temu, że wydajność prądowa tych portów jest nie większa niż 20mA to tylko dlatego nie spalił ci się wyświetlacz i nie uszkdoził procek. Masz rację tyle, że chodzi jak widzisz nie tylko o wydajność prądową całego procka ale i wydajność na poszczególnych jego wyjściach.

    po takim przypadku to już będziesz przynajmniej nauczony doświadczeniem .... a o rezystorach nigdy nie zapominaj i postaraj się nauczyć dobierać (wyliczać jeszcze ich wartości w zależności od napięcia zasilania oraz od rodzaju użytych diod LED (ich kloru) bo mają różne spadki napięć i dobrze jest móc panować samemu nad pobieranym przez nie prądem

    pozdrówka
  • #20
    SteveY
    Level 11  
    Dzięki jeszcze raz za pożyteczną lekcję:)
    pozdrawiam
  • Helpful post
    #21
    manekinen
    Level 29  
    Dopisze jeszcze coś na temat nieszczęsnego ATTiny13. W ogóle ATtiny13 i bascom to jest tragiczne połączenie. Jeśli program ma tylko migać diodami, to ok. Ale napisać coś bardziej złożonego, to niestety nie w bascomie. A tym bardziej jeśli użyjemy jakiejś bascomowej instrukcji do obsługi 1wire lub podbnej - od razu mamy połowe pamięci flash w plecy :/
    A co do tej wydajności - jeśli nie ustawimy każdego z pinów osobno, to niektóre pracują po prostu jako WEJSCIA. Na początku też się zastanawiałem o co chodzi, bo miernikiem z impedancją wejściową kilka mΩ, sprawdzałem i pin pracował normalnie. Ale później nie mógł nawet wysterować tranzystora przez opornik 100kΩ. Myśle że jednak jest to problem. Niewiele osób łączy ATtiny13 z bascomem, i ten problem nie jest taki powszechny - ale jednak dość dziwny, kiedy wydaje się namże piny sa skonfigurowane dobrze i w ogóle nie podejrzewamy że tu leży wproblem. I tak jak kolega remzibi, moga niepotrzebnie kupować kilka proców podejrzewając że mają uszkodzone porty.
    A co do "normalnej" wydajności - portb.0 i portb.1 mają po 20mA, a reszta po 10mA. Z tego co zauważyłem to ta reszta daje mi jakieś 17mA na pin, nie wiem czy więcej, ale tyle po prostu pobiera dołączona dioda bez rezystora.

    crazy_phisic wrote:
    Skoro od czerwca 2007 nie rozwiązałeś tego problemu, to przepraszam że usunąłem oczywiste rozwiązanie podesłane przez "zirytowanego" użytkownika.

    Jasne że zirytowanego! A problemem nie jest niewiedza, tylko to w jaki sposób bascom kompiluje kod pod ATtiny13. Nigdzie nie ma o tym wzmianki, a na forum był to jedeny problem w jedynym temacie, więc "pomogłem" i napisałem dla innych - bo też się męczyłęm z tym 3 dni zanim doszedłem.
    Ale nie, wg regulaminu jest to odkopywanie tematów! Dodam, że wg zapisu który znalazłem na elce, moderator to człowiek który dziennie powinien znaleźć kilka godzin dla forum. Niestety, niektórzy wpadają tylko na chwile, i zinterpretują sobie wyrwany z kontekstu fragment, i walą do kosza nie mając pojęcia o co chodzi. I prosze bardzo, drogi crazy_phisic, możesz mi dać te ostrzeżenie albo i dwa, ale dopisz że za pomoc w rozwiązaniu problemu.

    remzibi wrote:
    Wystarczy powiedziec , przepraszam , to swiadczy o wielkosci czlowieka i umiejetnosci przyznania sie do bledu . Fakty obronia sie same .

    Ale wygodniej jest przemilczeć swój błąd i zasłaniać się regulaminem. Zamykaj kolego temat.

    Pozdrawiam serdecznie.
  • #22
    mirekk36
    Level 42  
    kolego manekinen i remzibi przestańcie już proszę narzekać i płakać nad tematem usunięcia postu, jak dzieci. No stało się, może i nie dobrze ale widać, że przez pomyłkę, skoro moderator nie usuwa waszych dalszych wypowiedzi. Które wy widzę trkatujecie jak jakieś tajne konspiracyjne informacje z czasów stanu wojennego.

    tymaczasem kolega pisze:

    manekinen wrote:
    Dopisze jeszcze coś na temat nieszczęsnego ATTiny13. W ogóle ATtiny13 i bascom to jest tragiczne połączenie. Jeśli program ma tylko migać diodami, to ok. Ale napisać coś bardziej złożonego, to niestety nie w bascomie. A tym bardziej jeśli użyjemy jakiejś bascomowej instrukcji do obsługi 1wire lub podbnej - od razu mamy połowe pamięci flash w plecy :/


    moim zdaniem to zamiast narzekać na biednego Bascoma i wylewać krokodyle łzy to należy się wziąć za asembler lub C i zrobić samemu obsługę 1wire na tym procku jeśli taka potrzebna. Czy ktoś zmusza cię do używania w tym celu Bascoma ???? czy może sam czujesz się zmuszany ??? ....

    po drugie, zamiast narzekać na nieszczęsnego Bascoma może warto jednak lepiej go poznać a dopiero potem ew się wypłakiwać w rękaw elektrody n/t jego okrucieństwa i beznadziei

    bo właśnie w tym nieszczęsnym usuniętym poście kolega manekinen napisał:
    manekinen wrote:

    Sam jeszcze dzisiaj miałem taki problem. Wydawało się to bardzo dziwne. A oto rozwiązanie problemu, gdyby jeszcze ktoś na taki problem trafił - a trafi - zapewniam

    BASCOM - oto źródło problemu. Wystarczy skonfigurować każdy pin osobno:
    Kod:

    Config Portb.0 = Output
    Config Portb.1 = Output
    Config Portb.2 = Output
    itp


    I będzie działać, nie ma bata


    więc nie żebym się czepiał , może poprostu się kolega pomylił ale po takiej poprawce jaką kolega zaproponował i napisał, że teraz będzie działać, nie ma bata - to na pewno nie pomoże i wcale nie rozwiąże tego problemu, ponieważ w Bascomie trzeba by to napisać tak:

    Code:
    Config Pinb.0 = Output 
    
    Config Pinb.1 = Output
    Config Pinb.2 = Output
    itp


    a to jest mała różnica.

    o proszę a poniżej kolega remzibi też z zaciekłością jak to się mówi "przygadał kocioł garnkowi" odpowiedział koledze lelekx na jego skąd innąd słuszne uwagi.

    remzibi wrote:

    z calym szacunkiem - bez jaj

    instrukcja :
    config portb=&111111
    jest rownowazna instrukcji :
    config portb=&00111111
    jak i :
    config portb=output
    jak i
    config portb.x=output (x od 0 do 8 )
    i instrukcji
    LDI r16,&b00111111
    !out DDRB, r16

    w powyzszym nie bierzemy po uwage bitow 6 i 7 bo ich fizycznie nie ma

    Poprosze o nastepna podpowiedz . A koledze lelekx gratuluje wnikliwosci i spostrzegawczosci w analizie zagadnienia , bez urazy ale nie wcisne klawisza "pomogl" .


    a tymczasem plótł bzdury jak widać bo

    config portb.x=output (x od 0 do 8 )

    wcale nie jest równoważne !!!

    Code:
    LDI r16,&b00111111 
    
    out DDRB, r16


    bo jak pisałem wcześniej powinno być

    config pinb.x=output (x od 0 do 7 )


    Wielu nie doczyta jak konfigurować porty w Bascomie a potem zdziwienie albo oburzenie na Bascoma. Tak czy inaczej - reasumując, zamiast płakać nad bascomem weźcie się za naukę i programowanie w innych językach skoro ten sprawia wam aż takie kłopoty i po sprawie.


    dodam jeszcze tylko, że ja odkąd piszę coś czasem w Bascomie a też jeszcze się go uczę - to zwykle na początku inicjalizacji programu na szybko ustawiam wszystkie porty jako np wejścia za pomocą

    Code:
    config portb = output
    
    config portc = output
    itd


    ale później, gdy już definiuję poszczególne piny do odpowiedniego wykorzystania to piszę:

    Code:
    config pinb.x = output
    
    config pinb.x = input
    itd

    dla każdego świadomie wykorzystanego pinu.

    Jeśli natomiast nie mieści mi się przez te dodatkowe linijki cały kod w procku to wymieniam go ramach projektowania na taki z większą pamięcią byle spełniał moje wymagania lub co ważne, jeśli nie mogę zmienić procka na większy bo ma np za duże gabaryty fizyczne czyli np nie wchodzi w grę zamiana ATtiny13 na Atmega8 to poprostu staram się napisać soft do ATtiny13 w asemblerze - to wszystko


    pozdrawiam
  • #23
    remzibi
    Level 24  
    mirekk36 wrote:
    kolego manekinen i remzibi przestańcie już proszę narzekać i płakać nad tematem usunięcia postu, jak dzieci. No stało się, może i nie dobrze ale widać, że przez pomyłkę, skoro moderator nie usuwa waszych dalszych wypowiedzi. Które wy widzę trkatujecie jak jakieś tajne konspiracyjne informacje z czasów stanu wojennego.


    Nie narzekam ani nie placze w rekaw :) , widze , ze i Ty masz duzy klopot z interpretacja intencji piszacego - ale nie chce mi sie nawet tego komentowac :) .

    mirekk36 wrote:

    moim zdaniem to zamiast narzekać na biednego Bascoma i wylewać krokodyle łzy to należy się wziąć za asembler lub C i zrobić samemu obsługę 1wire na tym procku jeśli taka potrzebna. Czy ktoś zmusza cię do używania w tym celu Bascoma ???? czy może sam czujesz się zmuszany ??? ....


    Jak masz opla to wywal i kup sobie merca Cclasse , jak poklocisz sie z zona to znajdz sobie nowa , jak wkurzy cie dziecko to go wywal albo zabij i sobie zrobisz nowe . No dzieki za te super rady , jestes prawdziwym Salomonem i krynica madrosci :) .
    Otoz NIE , mozna naprawic opla i pogodzic sie z zona znajdujac odpowiednie rozwiazanie problemow .
    Pragne zwrocic Twoja szanowna uwage na fakt ze jednak rozmawiamy o bascomie , to ze czasem pisze w avr-gcc to inna sprawa ale o niej tu nie rozmawiamy . Kupilem sonie baskoma to go mam i juz .
    Oczwiscie bede czekal na Twoje odpwiedzi w tematach o ASM i C , ale tu daruj sobie te zale , ze nie pytam o ASM-a - no jak dziecko - masz przetensje , ze ktos zapytal o problem w bascomie :) zamiast asm lub C . Wez sie w garsc i nie placz jak dzieciak , musisz byc twardy i przyzwyczaic sie , ze inni ludzie tez maja czasem problem z bascomem i beda takie posty niestety pisac .

    mirekk36 wrote:

    po drugie, zamiast narzekać na nieszczęsnego Bascoma może warto jednak lepiej go poznać a dopiero potem ew się wypłakiwać w rękaw elektrody n/t jego okrucieństwa i beznadziei


    Niezle eufemizmy , tak trzymaj , wielkiego zwiazku z odpowidzia na problem tu nie ma , ale literacko OK :) .

    mirekk36 wrote:

    bo właśnie w tym nieszczęsnym usuniętym poście kolega manekinen napisał:
    manekinen wrote:

    Sam jeszcze dzisiaj miałem taki problem. Wydawało się to bardzo dziwne. A oto rozwiązanie problemu, gdyby jeszcze ktoś na taki problem trafił - a trafi - zapewniam

    BASCOM - oto źródło problemu. Wystarczy skonfigurować każdy pin osobno:
    Kod:

    Config Portb.0 = Output
    Config Portb.1 = Output
    Config Portb.2 = Output
    itp


    I będzie działać, nie ma bata


    więc nie żebym się czepiał , może poprostu się kolega pomylił ale po takiej poprawce jaką kolega zaproponował i napisał, że teraz będzie działać, nie ma bata - to na pewno nie pomoże i wcale nie rozwiąże tego problemu, ponieważ w Bascomie trzeba by to napisać tak:

    Code:
    Config Pinb.0 = Output 
    
    Config Pinb.1 = Output
    Config Pinb.2 = Output
    itp




    Tu no comments - zajrzyj prosze do helpa baskoma .

    mirekk36 wrote:

    a to jest mała różnica.


    No mala , w zasadzie tak mala ze dazy w swej malosci do nieskonczonosci .

    mirekk36 wrote:

    o proszę a poniżej kolega remzibi też z zaciekłością jak to się mówi "przygadał kocioł garnkowi" odpowiedział koledze lelekx na jego skąd innąd słuszne uwagi.

    remzibi wrote:

    z calym szacunkiem - bez jaj

    instrukcja :
    config portb=&111111
    jest rownowazna instrukcji :
    config portb=&00111111
    jak i :
    config portb=output
    jak i
    config portb.x=output (x od 0 do 8 )
    i instrukcji
    LDI r16,&b00111111
    !out DDRB, r16

    w powyzszym nie bierzemy po uwage bitow 6 i 7 bo ich fizycznie nie ma


    Poprosze o nastepna podpowiedz . A koledze lelekx gratuluje wnikliwosci i spostrzegawczosci w analizie zagadnienia , bez urazy ale nie wcisne klawisza "pomogl" .


    Nie wciskaj . Oj ciezko Cie chyba zadowolic :) .

    mirekk36 wrote:

    a tymczasem plótł bzdury jak widać bo

    config portb.x=output (x od 0 do 8 )

    wcale nie jest równoważne !!!

    Code:
    LDI r16,&b00111111 
    
    out DDRB, r16


    bo jak pisałem wcześniej powinno być

    config pinb.x=output (x od 0 do 7 )


    No plotlem te bzdury - rzeczywiscie powinno byc 7 . Na wytlumaczenie dodam ze to literowka . Nizej napisalem o bitach 6 i 7 . :) .

    mirekk36 wrote:

    Wielu nie doczyta jak konfigurować porty w Bascomie a potem zdziwienie albo oburzenie na Bascoma. Tak czy inaczej - reasumując, zamiast płakać nad bascomem weźcie się za naukę i programowanie w innych językach skoro ten sprawia wam aż takie kłopoty i po sprawie.

    dodam jeszcze tylko, że ja odkąd piszę coś czasem w Bascomie a też jeszcze się go uczę - to zwykle na początku inicjalizacji programu na szybko ustawiam wszystkie porty jako np wejścia za pomocą

    Code:
    config portb = output
    
    config portc = output
    itd


    ale później, gdy już definiuję poszczególne piny do odpowiedniego wykorzystania to piszę:

    Code:
    config pinb.x = output
    
    config pinb.x = input
    itd

    dla każdego świadomie wykorzystanego pinu.

    Jeśli natomiast nie mieści mi się przez te dodatkowe linijki cały kod w procku to wymieniam go ramach projektowania na taki z większą pamięcią byle spełniał moje wymagania lub co ważne, jeśli nie mogę zmienić procka na większy bo ma np za duże gabaryty fizyczne czyli np nie wchodzi w grę zamiana ATtiny13 na Atmega8 to poprostu staram się napisać soft do ATtiny13 w asemblerze - to wszystko


    Tutaj dziekujemy Ci wszyscy i zabieramy sie za nauke , jak ja wogole moglem przezyc do tej pory nie pytawszy Cie o rady i podpowiedzi .
    Tym swoim postem pokazales , ze jednak mozna w prosty z wiezly sposob podac solucje , nam neofitom .
    Dzieki .
    I tak doszlismy chyba do ostatniej kartki wiec zamkne ksiazke - bo jeszcze nie daj boze dopisze sie ktos nastepny kto nie daj boze znowu nie do konca odczyta intencje piszacego .