Pokazywanie postów oznaczonych etykietą Coocox. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Coocox. Pokaż wszystkie posty

czwartek, 13 marca 2014

Jak zapalić diode stm32F4 Coocox COIDE

   Programy testuje na płytce STM3241G-EVAL, diody mam na pinach: PG6, PG8, PC7, PI9, korzystać będę z pierwszych dwóch.
    1. Tworze nowy projek dla STM32F417IG (opisałem w poprzednim artykule)
    2. Dodaje bibliotekę GPIO z repozytoriów(reszta niezbędnych bibliotek doda się sama).
    3. Do pliku main.c wklejamy:

#include "stm32f4xx_gpio.h"    //standardowa biblioteka wejsc/wyjsc
#include "stm32f4xx_rcc.h"      //Reset and Clock Control

GPIO_InitTypeDef  GPIO_InitStructure;   //inicjalizacja
void Delay(__IO uint32_t nCount);           //definicja funkcji opóźnienia programowego(nie sprzętowego)

int main(void)
{
    SystemInit();                                           //inicjalizacja

/* Włączenie zegara dla konkretnego portu, domyślnie jest wyłączony dla zaoszczędzenia energii */
     RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE);
          /*tu wpisujemu jaki port chcemy zainicjalizowac, w moim przypadku G*/

     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_8;
         /* tutaj wpisujemy jakie piny na danym porcie chcemy włączyć jak wyżej pisałem u mnie to pin 6 i 8 */

     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
         /*wybierasz między IN(wejście) OUT(wyjście), AF(funkcja alternatywna/alternate function) oraz                   AN(tryb analogowy/analog mode)*/
     GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
         /*wybór między Push Pull(PP) a Open Dren(OD)*/
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
         /* 2, 25, 50, 100 MHz takie częstotliwości mamy do wyboru przy standardowej bibliotece, zmiany można nanieść w funkcjach zegara i do uzyskania jest chyba każda częstotliwość z zakresu 2-100 MHz */
     GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
/*
w tej części wybieramy czy będzie podciągnięcie do mazy, zasilania, czy też bez podciągnięcia, szarzej opisałem to w poprzednim artykule
*/
     GPIO_Init(GPIOG, &GPIO_InitStructure);

    while(1)  // pętla nieskończona
    {
       GPIO_SetBits(GPIOG, GPIO_Pin_6); // ustawienie pinu 6 w stan wysoki(logiczna jedynka)

       Delay(0x3FFFFF); // opóźnienie

       GPIO_SetBits(GPIOG, GPIO_Pin_8);  // ustawienie pinu 8 w stan wysoki

       Delay(0x3FFFFF);  //opóźnienie

       GPIO_ResetBits(GPIOG, GPIO_Pin_6|GPIO_Pin_8); //skasowanie bitu, czyli ustawienie w stan niski

       Delay(0xFFFFFF);  // opóźnienie
     }
}

void Delay(__IO uint32_t nCount) //funkcja opóźnienia
{
  while(nCount--)
  {
  }
}



niedziela, 5 stycznia 2014

Jak zainstalować Coocox CoIDE tutorial krok po kroku na przykładzie F4 discovery

Aby zainstalować Coocox'a należy zacząć od pobrania go z tej strony, a tak naprawdę to pobierze nam się CoCenter srodowisko instalujące wszystkie pluginy i dodatki dla Coocoxa które są opisane tu.

Po zainstalowaniu Centrum dowodzenia;p otworzy na się identyczne okno:

Klikamy na download przy CoIDE a następnie install, reszta dodatków według uznania.
Proces instalacji przebiega niezwylke intuicyjnie, pozostawie go bez komentarza.

Po uruchomieniu środowiska programistycznego naszym oczom ukaże:

Klikamy po kolei "Create new project" wpisujemy nazwę i pamiętajmy o odchaczeniu zaznaczenia przy "Use default path" jeśli chcemy użyć innej lokalizacji niż standardowa(w mniemaniu Coocoxa).
Na tym etapie do wyboru mamy Chip i board, niestety ilośc płytek jest mozno ograniczona a dla STMów to tylko F0 discovery(i w zakładce Coocox embadded Pi czyli STM32F103RB kompatybilny z platformą Arduino). W związku z tym, że naszym celem jest utworzenie projektu dla stm32F4Discovery wybierach Chip i przez wyszykiwarkę bądź kożystając z drzewka wyszukujemy stm32F407VG i kończymy zakładanie projektu klikając Finish.

Przy świeżo zainstalowanym CoIDE pragnę zasugerować odświerzenie listy wszystkich elementów przez klikanie we wszystkie zakładki od pierwszej na dole(jak na zdjęciu poniżej) i znaczka odświeżenia. To samo można zrobić jeśli naszego mikrokontrolera nie ma w bazie oprogramowania.