Мікроконтролер STM32F030F4P6 - один із самих найдешевших із STM-ів. На aliexpress.com можна знайти ,по ціні 0,6$ за штучку.
Та я вже , мабуть трохи розпещений готовими рішеннями наших "китайських друзів" , тому купив готову плату , яку Ви бачити на фото :
Ціна звісно трохи вища чим в "голого" МК, і коливається в межах 4...5$.
Далі , що собою преставляє сам мікроконтролер :
- ядро: ARM Cortex-M0;
- тактова частота: 48 МГц;
- флеш память: 16 кбайт;
- SRAM: 4 кбайт;
Має на "борту" - SPI, USART, I2C. Що сказати "маленький красунчик"...
З недоліків , на мій погляд , відсутність VBAT ( піна підключення батарейки для RTC).
Сама відлагоджувальна плата складається із самого МК в корпусі TSSOP20 , кварца 8 MHz ( незапаяний ) з обвязкою, стабілізатора 3,3В ( на мікросхемі 1117 ), світлодіода на РА4, кнопки RESET.
Окремо виведено піни для підключення ST_Link , та USART.
При прошивці через SWD джампер BOOT встановлений, якщож прошивати через USART джампер потрібно зняти.
USB використовується лише для заживлення плати !!!
//**************************************************************************************************************************
Ну що, для початку мигнемо світлодіодом.
Проект створимо за допомогою програми EmBitz ( бувший EmBlocks ), перевагою якої ,є її бескоштовність, та добра переносимість проектів з Keil . Як працювати із програмою можна почитати тут .
Файл проекта для EmBitz 0.4 - http://radiomanoff.at.ua/load/stm32f030f4_test_led/1-1-0-34.
//**************************************************************************************************************************
Далі спробуємо створити дещо серйозніший проект - підключимо LCD 1602 .І за одне підключимо RTC ( годинник реального часу , який аппаратно знаходиться в МК ).
Бібліотеку LCD , я взяв із цього проекта .
Підключення LCD розписано в файлі lcd.c:
#define LCD_RS_GPIO_PORT GPIOA
#define LCD_RS_GPIO_CLK RCC_AHBPeriph_GPIOA
#define LCD_RS_GPIO_PIN GPIO_Pin_0
#define LCD_E_GPIO_PORT GPIOA
#define LCD_E_GPIO_CLK RCC_AHBPeriph_GPIOA
#define LCD_E_GPIO_PIN GPIO_Pin_1
#define LCD_D4_GPIO_PORT GPIOA
#define LCD_D4_GPIO_CLK RCC_AHBPeriph_GPIOA
#define LCD_D4_GPIO_PIN GPIO_Pin_5
#define LCD_D5_GPIO_PORT GPIOA
#define LCD_D5_GPIO_CLK RCC_AHBPeriph_GPIOA
#define LCD_D5_GPIO_PIN GPIO_Pin_6
#define LCD_D6_GPIO_PORT GPIOA
#define LCD_D6_GPIO_CLK RCC_AHBPeriph_GPIOA
#define LCD_D6_GPIO_PIN GPIO_Pin_9
#define LCD_D7_GPIO_PORT GPIOA
#define LCD_D7_GPIO_CLK RCC_AHBPeriph_GPIOA
#define LCD_D7_GPIO_PIN GPIO_Pin_10
Ініціалізація RTC знаходиться в функціїї - RTC_config в файлі main.c.
Файл проекта для EmBitz 0.4 - http://radiomanoff.at.ua/load/f030_1602/1-1-0-35.