Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 9 cze 2025, o 03:29


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
    Autor Wiadomość
    PostNapisane: 18 paź 2013, o 17:01 
    Offline
    Użytkownik

    Dołączył(a): 26 sty 2013
    Posty: 28
    Pomógł: 0

    Witam,

    Zastanawiam się nad zakupem zestawu STM32F3 Discovery lub STM32F4 Discovery. Moglibyście doradzić który zestaw wybrać na początek przygody z ARM, jakieś opinie o zestawach. Oraz przydała by się jakaś książka, znalazłem książkę Paprockiego ale czytałem o niej bardzo różne opinie, co moglibyście doradzić?



    Ostatnio edytowano 2 lis 2013, o 17:37 przez Pyciek, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 paź 2013, o 17:12 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Pyciek napisał(a):
    Zastanawiam się nad zakupem zestawu STM32F3 Discovery lub STM32F4 Discovery. Moglibyście doradzić który zestaw wybrać na początek przygody z ARM, jakieś opinie o zestawach. Oraz przydała by się jakaś książka, znalazłem książkę Paprockiego ale czytałem o niej bardzo różne opinie, co moglibyście doradzić?


    zaglądnij na moją strone choćby ....
    co mogę polecić zależy co potrzebujesz

    ja się lubuję

    w VL-Discovery , F3 - Discovery ... no mam wszystkie no ....
    ponadto w kinetisach np FRDM
    czy Expresso z LPC

    co do książek ... no cóż ... niema dobrych pozycji i pewnie szybko nie będzie

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 paź 2013, o 18:01 
    Offline
    Użytkownik

    Dołączył(a): 26 sty 2013
    Posty: 28
    Pomógł: 0

    Sun, Twoją stronkę już widziałem ale nie miałem jeszcze czasu się głębiej wczytać, dzisiaj planuję...

    W zestawie F3 zachęcające są czujniki (akcelerometr i żyroskop), natomiast F4 można taktować nawet do 168MHz 8-) Poza tym peryferia układów wydają się podobne ( ADC, DAC, SPI, I2C, UART itp). Czytałem, że Sunowi udało się odpalić film na F1, czy na F3 z taktowaniem 72MHz też się to uda?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 paź 2013, o 19:08 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 sie 2013
    Posty: 230
    Lokalizacja: Zabrze
    Pomógł: 17

    Skoro interesuje cię odtwarzanie filmu na STM to zainteresuj się nowym zestawem DISCOVERY z STM32F429 i wyświetlaczem TFT.

    _________________
    40-32:2=4!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 paź 2013, o 12:22 
    Offline
    Użytkownik

    Dołączył(a): 26 sty 2013
    Posty: 28
    Pomógł: 0

    Zdobyłem książkę Paprockiego i rzeczywiście nie jest ona za dobra ale ją przeczytam i chociaż na początku będę się do niej stosował. Zdecydowałem się na zakup F3, i od razu napotkałem na kilka problemów.
    Żeby nie zakładać nowego wątku napiszę tutaj:
    Próbuję skonfigurować środowisko programistyczne, najpierw zainstalowałem wg. Sun'a - Start z STM32VL-Discovery - Atollic ale ze względu na ograniczenia postanowiłem zainstalować coś innego.
    Kolejnym programem, również wg. radu Sun'a, był CooCox ale jak się okazało w repozytoriach tego programu nie ma mikrokontrolerów STM32F3. Są F0, F1, F4 ale nie F3 :/ Czy jest możliwość dodania repozytoriów z STM32F3?
    Teraz próbuję skonfigurować znane i lubiane Eclipse. Wyczytałem w internecie, że trzeba doinstalować:
    - Sourcery CodeBench - poszło bez problemów,
    - C/C++ GDB Hardware Debugging - również zainstalowało się bez problemów
    - GNU ARM Eclipse Plug-in
    Gnu ARM Eclipse Plug-in instaluję z http://gnuarmeclipse.sourceforge.net/updates (Help - Install New Software - Work With...),
    Do wyboru mam następujące składniki:
    GNU ARM C/C++ Cross Compiler Support (Experimental) 1.1.1.201310191701
    GNU ARM C/C++ Development Support (End of life) 0.5.5.201310111213

    Podczas próby instalacji któregokolwiek składnika otrzymuję komunikat:
    Cannot complete the install because one or more required items could not be found.
    Software being installed: GNU ARM C/C++ Cross Compiler Support (Experimental) 1.1.1.201310191701

    Dodam, że Eclipse jest w wersji Helion.
    Konfigurował ktoś Eclipse pod STM32F3? Może jakieś wskazówki?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 paź 2013, o 13:31 
    Offline
    Użytkownik

    Dołączył(a): 07 sty 2012
    Posty: 136
    Pomógł: 0

    Kolego... moim zdaniem zacznij w atolicu, jak się trochę rozpiszesz to pomyślisz o czymś innym.
    Jak na razie do nauki Ci starczy, a nie ma problemu z odpowiednim ustawieniem bibliotek. Książka Paprockiego jest dobra jako szybki przejazd przez peryferia ale dla serii F1. Niby można też na jej podstawie pobawić się F3 ale dobrze jest porównywać przykłady z książki z przykładami dedykowanymi na F3. Notabene możesz sobie ściągnąć przykłady na ten zestaw bezpośrednio z atolica.
    Ja się bawię F103(ZL27ARM) oraz F407(Discovery).
    I Atolica nie musisz specjalnie konfigurować, tworzysz nowy projekt i jazda.
    Na początek polecam.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 paź 2013, o 13:35 

    Pomógł: 0

    Ja F4 ćwiczyłem na CooCox i też sie da, sporo przykładów.



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 paź 2013, o 20:08 
    Offline
    Użytkownik

    Dołączył(a): 07 sty 2012
    Posty: 136
    Pomógł: 0

    Kto mówi że się nie da:D Ale patrząc jak wyglądały moje początki to osobiście na taki początek polecam atolica.
    Później oczywiście Coocox, albo coś mocniejszego:D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 lis 2013, o 19:57 
    Offline
    Użytkownik

    Dołączył(a): 26 sty 2013
    Posty: 28
    Pomógł: 0

    Dzięki za zainteresowanie. Na razie używam Atollic-a i będę go używał tak długo jak tylko będę mógł. Jak zacznie ograniczać mnie limit pamięci zacznę się martwić o nowe IDE....


    Niestety mam delikatny problem z przerwaniami. Żeby nie zaśmiecać forum napiszę tutaj, mam nadzieję, że nie będzie to nikomu przeszkadzało.
    Konfiguruję przerwania od pinów PA0 i PD0. Jak skonfiguruję każde przerwanie osobno (tylko jedno przerwanie: PA0 lub PD0) to wszystko działa prawidłowo. Jak tylko skonfiguruję oba przerwania jednocześnie to wszystko działa dziwnie i przypadkowo. Jak należy to skonfigurować żeby wszystko działało jak trzeba?

    Konfiguracja przerwań:
    Kod:
     NVIC_InitTypeDef NVIC_InitStructure;

         RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);

         NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;
         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
         NVIC_Init(&NVIC_InitStructure);

         EXTI_InitTypeDef EXTI_InitStructure;

         EXTI_InitStructure.EXTI_Line = EXTI_Line0;
         EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
         EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
         EXTI_InitStructure.EXTI_LineCmd = ENABLE;
         EXTI_Init(&EXTI_InitStructure);
         SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, GPIO_PinSource0);



    Kod:
     NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;
             NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
             NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
             NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
             NVIC_Init(&NVIC_InitStructure);




                    EXTI_InitStructure.EXTI_Line = EXTI_Line0;
              EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
              EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
              EXTI_InitStructure.EXTI_LineCmd = ENABLE;
              EXTI_Init(&EXTI_InitStructure);

              SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOD, GPIO_PinSource0);


    Konfiguracja pinów:

    Kod:
    GPIO_InitTypeDef GPIO_InitStructure;

       RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
       GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
       GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
       GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
       GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
       GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_3;
       GPIO_Init(GPIOA, &GPIO_InitStructure);


       RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOD, ENABLE);
       GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
       GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
       GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
       GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
       GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_3;
       GPIO_Init(GPIOD, &GPIO_InitStructure);



    Obsługa przerwania:

    Kod:
    void EXTI0_IRQHandler (void)
    {
       if (EXTI_GetITStatus(EXTI_Line0) != RESET)
       {
          if( GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == Bit_SET)
          {
             if (kierunek == 0)
             {
                kierunek = 1;
             }
             else if (kierunek == 1)
             {
                kierunek = 0;
             }
             EXTI_ClearITPendingBit(EXTI_Line0);
          }

          if( GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_0) == Bit_RESET)
          {
             if (kierunek == 0)
             {
                kierunek = 1;
             }
             else if (kierunek == 1)
             {
                kierunek = 0;
             }
             EXTI_ClearITPendingBit(EXTI_Line0);
          }
          

       }
    }



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lis 2013, o 23:09 
    Offline
    Użytkownik

    Dołączył(a): 26 sty 2013
    Posty: 28
    Pomógł: 0

    Napiszę, może na przyszłość komuś się przyda.

    Nie da się ustawić przerwań zewnętrznych wszystkich od tego samego numeru pinu (tzn. PA1, PB1, PC1 itd...)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO