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



Teraz jest 16 lis 2024, o 06:44


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
Avatar użytkownika

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

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

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



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 2 gości


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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO