Stm32f7 Discovery Board with Stm32Cube Blinky

0 nhận xét

Summary:

Stm32f7 Discovery Board with Stm32Cube Blinky
Stm32f7 Discovery Board with Stm32Cube Blinky

 今まで,ずっとstm32f4-discoボードを使ってきましたが,Stm32f7がすごいとネットで書いてあって,DigikeyでSTM32F746G-DISCOを購入してしまいました.
 http://www.digikey.jp/product-detail/ja/stmicroelectronics/STM32F746G-DISCO/497-15680-5-ND/5267791

6000 yen ぐらいで,digikey で7500yen 以上購入すると送料が0になるのでついでNucleo 144も一緒に
http://www.digikey.jp/product-detail/ja/stmicroelectronics/NUCLEO-F767ZI/497-16525-ND/6004740
合計で 9000 yen でした. digikeyでクレジットカードがいらないので,クレジットカード持ってなくも銀行振込が可能! 

約5日間に届きました. しかし。。。。。 ネットでstm32f7-discoのサンプルが少なく,またstandard peripheral libraryからHAL libray に変わって,正直に最初につまってしまった. プログラム環境もWindowsではなくubuntuでGCC ARM Embeddedのcomplierを使って,makeファイルでコンパイルしました.だが,公開サイトのサンプル
 http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software/stm32cubef7.html?icmp=pf261909_pron_pr-massmarket_jun2015&sc=stm32cubef7-pr#getsoftware-scroll
の中makeFileがなかったので絶望しました.githubで探してしてみてもやはりサンプルが少なく,自分のPCでうまく動けるのは1つ2つぐらいで,またLEDチカチカしかない., DAC,I2C、SPI、UART。。。全然なかった!
 絶望の中,STM32CUBEMXと出会いました.ほんとに便利すぎ!STM32の初期設定がなかなか面倒くさいが,STM32CUBEMXを使えば,楽!!
STM32CUBEMXはlinuxでも動けるので,助かった.
http://www.st.com/content/st_com/ja/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html
今回,LEDチカチカのサンプルをやって見ます. まず、STM32CUBEMXで設定
LEDはPI_1だね
1.Clock+GPIO HSEを有効にし,最大216Mhzにする. GPIOIのPIN_1を Outputに
 2.Code 自動生成



そうするソースができ,Src/main.cを開いて,次のようにいれば,LEDがチカチカ


int main(void)
{

  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* Configure the system clock */
  SystemClock_Config();

  /* Initialize all configured peripherals */
  MX_GPIO_Init();

  while (1)
  {
       HAL_GPIO_WritePin(GPIOI, GPIO_PIN_1,1); 
       HAL_Delay(1000); 
       HAL_GPIO_WritePin(GPIOI, GPIO_PIN_1,0); 
       HAL_Delay(1000); 
}

Facebook Comments
Blogger Comments
Share knowledge

Copyright © 2016 - Share knowledge ®