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

Wsad dla attiny2313, czy ten układ działa? mruganie diody.

valstus 26 Kwi 2009 15:05 3727 8
  • #1 6458700
    valstus
    Poziom 21  
    Witam mam prośbe czy mógłby mi ktoś kto ma prcka attiny 2313 sprawdzić czy działa mu mrugaczka na jednej diodzie led z wsadem .hex poniżej:


    EDIT:
    Ja sprawdzając na swoim jedynym procku attiny 2313 nie widze by ten układ działał dlatego wpadłem na pomysł by ktoś kto ma identyczny procek sprawdził czy z tym wsadem zaczyna mu mrugać ta dioda pozwoli mi to ocenić czy układy którymi to programuje i testuje są sprawne jestem początkujący dlatego prosiłbym o pomoc.

    Pozdrawiam

    Posty scaliłem.
    [zumek]
  • #2 6458750
    janbernat
    Poziom 38  
    Myślenie jest aż tak bolesne?
    A gdzie ta dioda jest(który pin) i jak podłączona?
    A schemat?
    A program?
    A myślisz ze wszyscy mają taką płytkę jak Twoja?
  • #3 6459303
    zumek
    Poziom 39  
    Cały szkopuł w tym, że Twój .hex nie jest programem :|
    Ciekawe, skąd go wytrzasnąłeś :?:
  • #4 6459419
    Galareta
    Poziom 23  
    :1000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    :10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
    :10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
    :10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
    :10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
    :10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
    :10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
    :10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
    :00000001FF
    Po mojemu to jest wielka kupa 1 a nie program - kompilator masz zły czy coś?
  • #6 6460600
    valstus
    Poziom 21  
    oto program w .c:

    
    #define F_CPU 1000000UL
    #include <c:\i\io.h>
    #include <util\delay.h>
     
    
    
    int main (void)
    
    {
    
            /*Ustawienie  Portów*/
    		DDRB=7;
    		
    		for(;;)
    		{
    		          /*wyłączenie diod*/
    				  PORTB = 7;
    				  _delay_loop_2(0xffff);
    		          /*włączenie diod*/
    				  PORTB = 0;
    				  _delay_loop_2(0xffff);
    		}
    		return 0;
    }
  • #7 6460639
    snow
    Poziom 31  
    valstus napisał:
    #include <c:\i\io.h>


    Taką lokalizację ma plik io.h?

    Poza tym może w makefile nie masz poprawnie ustawionego procesora.
  • #8 6460962
    zumek
    Poziom 39  
    valstus napisał:
    wiem ponieważ dołączyłem złego hexa przepraszam to prawidłowy:

    Według tego nowego hexa, Twój kod w C wyglądał:
    
    /...
          
          for(;;)
          {
                    /*wyłączenie diod*/
                  PORTB = 7;
                  _delay_loop_2(0xffff);
                    /*włączenie diod*/
                  PORTB = 7;
                  _delay_loop_2(0xffff);
          }
    //...

    Skompiluj jeszcze raz i sprawdź.
  • #9 6461006
    Wojtek75
    Poziom 24  
    valstus napisał:
    Witam mam prośbe czy mógłby mi ktoś kto ma prcka attiny 2313 sprawdzić czy działa mu mrugaczka na jednej diodzie led z wsadem .hex poniżej.....


    Mrugaczka działa, ale...

    Wziąłem ten Twój kod źródłowy (troszkę go zmieniłem, bo mi się nie chciał skompilować) u mnie wygląda on tak:
    #define F_CPU 1000000UL 
    #include <avr\io.h> 
    #include <util\delay.h> 
    
    int main (void) 
    
    { 
    
    /*Ustawienie Portów*/ 
    DDRB=7; 
    
    for(;;) 
    { 
    /*wyłączenie diod*/ 
    PORTB = 7; 
    _delay_loop_2(0xffff); 
    /*włączenie diod*/ 
    PORTB = 0; 
    _delay_loop_2(0xffff); 
    } 
    return 0; 
    }

    Tak przy okazji jesteś zarejestrowany na tym forum od 2003 roku i jeszcze nie doczytałeś, że wklejając kod warto skorzystać z tagów "code"?

    Zainstalowałem AVR Studio + AVR GCC skompilowałem pod attiny2313 i u mnie HEX wygląda tak:
    :1000000012C017C016C015C014C013C012C011C052
    :1000100010C00FC00EC00DC00CC00BC00AC009C07C
    :1000200008C007C006C011241FBECFEDCDBF02D04F
    :100030000FC0E6CF87E087BB47E02FEF3FEF48BB1D
    :10004000C9010197F1F718BAC9010197F1F7F7CF84
    :04005000F894FFCF52
    :00000001FF


    A u ciebie tak:
    :1000000012C017C016C015C014C013C012C011C052
    :1000100010C00FC00EC00DC00CC00BC00AC009C07C
    :1000200008C007C006C011241FBECFEDCDBF02D04F
    :100030000FC0E6CF87E087BB47E02FEF3FEF48BB1D
    :10004000C9010197F1F748BBC9010197F1F7F7CF53
    :04005000F894FFCF52
    :00000001FF


    A teraz zwróć uwagę na linie nr. 5 bo wygląda jakoś inaczej. I w tym miejscu zastanów się, dlaczego tak jest. (czary?) Patrz post kolegi Zumek.

    Teraz wyjaśniam skąd to "ale" na początku mojego postu.
    Wziąłem ten Twój kod (w oryginale tak jak powyżej) jeszcze raz i przekompilowałem go pod atmega8 ustawioną na zewnętrzny oscylator 8MHz wcisnąłem mikroprocesor w podstawkę zestawu uruchomieniowego, który posiadam i niniejszym raportuję że:
    1. dioda podłączona do portu PB0 pulsuje.
    2. dioda podłączona do portu PB1 pulsuje.
    3. dioda podłączona do portu PB2 pulsuje.
    4. dioda podłączona do portu PB3 nie świeci.
    5. dioda podłączona do portu PB4 nie świeci.
    6. dioda podłączona do portu PB5 nie świeci.
    7. dioda podłączona do portu PB6 (i tu muszę przyznać sam mam zgryz) wstrzymuje pulsowanie diod podłączonych do PB0, PB1 i PB2
    8. dioda podłączona do portu PB7 świeci.

    Oczywiście zbytnio się tym raportem nie sugeruj, bo jak już napisałem to nie attiny2313 tylko mega8

    A tak już na sam koniec to napisze, że sam mikrokontrolerami bawię się od trzech miesięcy całą swoją dotychczas nabytą wiedzę czerpie głównie z elektrody (widać jestem chyba trochę mniej leniwy).

    Zdrowia życzę.

    #edytowany 2x.
REKLAMA