logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ATTINY10 czy działa z AVR Studio ?

mototest 07 Mar 2011 20:26 3755 31
  • #1 9248147
    mototest
    Poziom 19  
    Witam

    męczę się z tym prockiem już dwa dni i nie może ruszyć
    wgrywam soft i nie miga LEDą , czy coś jest błędnego w tym listingu, czy AVRSTUDIO jeszcze tego procka nie obsługuje w C ??
    mam tylko podpięty LED do portu B0 , jak załadowałem hex zrobiony w asemblerze z elektrody https://www.elektroda.pl/rtvforum/topic1764860.html , to działa, ale w C ani rusz...

    Kod: text
    Zaloguj się, aby zobaczyć kod


    oczywiście chodzi mi o nowy Attiny10 w sot23-6
  • #3 9248479
    mototest
    Poziom 19  
    zrobiłem tak ,ale też nie działa :

    
    PORTB=0x01;
    _delay_ms(200);
    PORTB=0x00;
    _delay_ms(200);


    w attiny13 działa wszystko jak należy , a w tym modelu nic.
    to nie jest kwestia tylko migania LEDami, nie działa nic ani PWM , ani ADC,
    mam wrażenie że problem jest gdzieś w konfiguracji rejestrów na samym początku, zachowuje się to tak jakby zegar nie ruszał.
  • #4 9248738
    Andrzej__S
    Poziom 28  
    Nie wiem z jakiej wersji AVR Studio korzystasz i jakiego kompilatora używasz, ale u mnie jest tak:
    Funkcja _delay_ms() korzysta prawdopodobnie (przy takim opóźnieniu i częstotliwości taktowania) z funkcji _delay_loop_2() z <util/delay_basic.h>. Z kolei funkcja _delay_loop_2() korzysta z instrukcji asemblera SBIW, która jest w ATtiny10 niedostępna. Chociaż trochę dziwne, jeśli dało się skompilować :? Spróbowałbym usunąć #include <util/delay.h>, napisać funkcje opóźniające w oparciu o pętle i spróbować ponownie skompilować.

    Cytat:

    w attiny13 działa wszystko jak należy , a w tym modelu nic.

    ATtiny13 posiada w zestawie instrukcji SBIW.
  • #5 9248820
    mototest
    Poziom 19  
    nawet jak dam bez delay (sama zmiana stanu portów) , to na oscyloskopie musiałby być szybki prostokąt, a nie ma nic, totalne nic...
    dałem już drugi procek ,żeby wyeliminować jego uszkodzenie i bez skutku.

    używam Avrstudio 4.18 build 716 , kompilator taki jaki się zaistalował razem z nim chyba ?? nie wiem
  • #7 9248884
    mototest
    Poziom 19  
    tam nie ma co konfigurować...

    ATTINY10 czy działa z AVR Studio ?

    Dodano po 10 [minuty]:

    może to jest rzeczywiście wina kompilatora ?? czy kompilator uaktualnia się ręcznie ? czy instaluje się automatycznie razem z avrsudio ?

    Dodano po 2 [minuty]:

    i jeszcze jedno, prawie identyczny program napisany w CodeVisionAVR też nie działa...
  • #11 9249041
    mototest
    Poziom 19  
    nie musisz siedzieć cicho, ale tego kodu jest kilka linijek, więc mógłbyś popatrzeć :)
  • #13 9249821
    kamyczek
    Poziom 38  
    W czym leży problem właśnie piszę program na attiny 10 w AVR studio i na stk 600 wszystko działa poprawnie. Jeśli masz pytania napisz na priva lub zadaj je w tym temacie .
  • #14 9249843
    mototest
    Poziom 19  
    właśnie się zastanawiam , w czym może być problem, bo raz mi to ruszyło, niewykluczone że coś jest w hardware, ale po ponownym załadowaniu softu znów nie rusza, czy do resetu musi być coś podłączone , czy może być w powietrzu ?

    możesz mi podesłać schemat i PCB jak to zrobili w STK600 ?

    jeśli możesz to podeślij mi działający u ciebie hex z migającą LED na PORTB0 , bo już nie wiem czy to kompilator czy sprzęt
  • #15 9250118
    rrytel
    Poziom 14  
    z tego co wiem to kompilator c najpierw przerzuca kod do asm, spróbuj zobaczyć co ci tam pokazuje.
  • #16 9250124
    mototest
    Poziom 19  
    nie znam się na asm kompletnie , nawet nie wiem gdzie to zobaczyć
  • #17 9250713
    kamyczek
    Poziom 38  
    Reset może być wiszący lub podłączony do plusa przez rezystor 1k reszta jest w dokumentacji atmela. zwarcie do masy jest równoznaczne z wykonaniem resetu . Schematu STK600 nie posiadam trzeba pogmerać w dokumentacjach na stronie Atmela . Wieczorkiem mogę coś tam naskrobać do testów z migającą diodą ;)
  • #18 9250743
    mototest
    Poziom 19  
    reset tak zrobiłem , ale nie pomógł, w takim razie poczekam na hex

    coś jest nie tak z kompilatorem C, tylko co ??
    utworzyłem nowy projekt asm
    i nabazgrałem kilka linijek w asm i to działa, na wyjściu jest prostokąt 162kHz

    
    .include "tn10def.inc"
    
    
    
    ldi	r16,0x0F				
    	out	DDRB,r16
    loop:
    ldi	r16,0x00				
    	out	PORTB,r16	
    ldi	r16,0x0F				
    	out	PORTB,r16
    rjmp	loop
    
  • #19 9251691
    kamyczek
    Poziom 38  
    Programik z pliku działa następująco generuje sygnał prostokątny na PB0 . Po podaniu masy na port PB3 zostaje wygenerowane 512 impulsów o częstotliwości 1Hz
  • #20 9251777
    mototest
    Poziom 19  
    Twój program działa! napisałeś to w C ?
    to co w takim razie może być przyczyną ??

    to może skompiluj mój pierwszy listing czy działa ?
  • #21 9251825
    kamyczek
    Poziom 38  
    Program napisany w asemblerze podeślij listing i hex na maila to zerknę i postaram się pomóc
  • #22 9251844
    mototest
    Poziom 19  
    w asemblerze to wiem że działa, wysyłam ci plik napisany w C
  • #23 9252017
    kamyczek
    Poziom 38  
    Nie wiem jak u kolegi u mnie kompilator informuje że nie rozpoznaje typu mikrokontrolera. Proszę wysłać plik HEX podejrzę sobie co tam w trawce piszczy ;)
  • #24 9252039
    mototest
    Poziom 19  
    bo trzeba pobrać najnowszą wersję winavr i wszystko widzi , jest do pobrania upgrade z nowymi prockami (dość mały plik) , plik hex jes spakowany razem z wszystkimi plikami co wysłałem mailem w katalogu "default"

    upgrade (28Mb) :
    http://www.atmel.com/dyn/resources/prod_documents/AVRStudio4.18SP1.exe
    lub
    http://www.atmel.com/dyn/resources/prod_documents/AVRStudio4.18SP3.exe
  • #25 9252281
    kamyczek
    Poziom 38  
    Twój program nie konfiguruje portów .
  • #27 9252418
    kamyczek
    Poziom 38  
    To akurat robi z portu PB0 wejście a reszty wyjście jeśli wyjściem ma być portb.0 musisz napisać DDRB=0x01
  • #28 9252466
    mototest
    Poziom 19  
    no fakt to przeoczyłem , ale to nic nie pomogło, już wcześniej próbowałem różne konfiguracje tego rejestru, ale bez skutku, coś jeszcze nie gra. nie działa zwykłe wprowadzenie portu b.0 w stan niski, nie mogę zaświecić LED , PORTB=0 nie działa, cbi(PORTB,0); nie działa
  • #29 9252522
    kamyczek
    Poziom 38  
    Możliwe że jest jakiś bug w avr gcc jak widać w asemblerze wszystko działa poprawnie.
  • #30 9252561
    mototest
    Poziom 19  
    na to wygląda, próbowałem też w CodeVisionAvr i to samo , może za nowy procek i niedopracowali softu, pisałem do tej firmy z Codevision i napisali że w ich symulatorze działa, na cóż , ale jedynie w symulatorze...


    w końcu zadziałało mi to , ale tylko w CodeVisionAvr
    w WinAVR jest jakiś błąd, napiszę do Atmela co o tym sądzi
REKLAMA