STM32F0 시리즈 중 TSSOP20 핀의 소형 STM32F030F4P6 를 이용해서 Arduino 보드로 사용할 수 있도록 테스트 했다.
Arduino IDE의 보드 설정에 Generic STM32F0 시리즈중 STM32F030 SSM 보드를 추가로 설정해 주었다.
STM32F030 SSM EVM 보드에 맞는 핀맵을 사용하기위해 variant.h 파일의 수정이 좀 필요 한다.
#define PA0 A0 //D0/A0
#define PA1 A1 //D1/A1
#define PA2 A2 //D2/A2 - TX
#define PA3 A3 //D3/A3 - RX
#define PA4 A4 //D4/A4 - LED
// Right side
#define PA5 A5 //D5/A5 - SCK
#define PA6 A6 //D6/A6 - MISO
#define PA7 A7 //D7/A7 - MOSI
#define PB1 A8 //D8/A8 - SS
#define PA9 9 //D9 - SCL (TX UART header)
#define PA10 10 //D10 - SDA (RX UART header)
#define PA13 11 //D11 - SWDIO
#define PA14 12 //D12 - SWCLK
// Boards without a crystal can use these pins as well:
#define PF0 13
#define PF1 14
// This must be a literal with the same value as PEND
#define NUM_DIGITAL_PINS 15
// This must be a literal with a value less than or equal to MAX_ANALOG_INPUTS
#define NUM_ANALOG_INPUTS 9
// On-board LED pin number
#define LED_BUILTIN PA4
#define LED_GREEN LED_BUILTIN
// SPI Definitions
#define PIN_SPI_SS PB1
#define PIN_SPI_MOSI PA7
#define PIN_SPI_MISO PA6
#define PIN_SPI_SCK PA5
// I2C Definitions
#define PIN_WIRE_SDA PA10 // Default for Arduino connector compatibility
#define PIN_WIRE_SCL PA9 // Default for Arduino connector compatibility
// Timer Definitions
// Use TIM6/TIM7 when possible as servo and tone don't need GPIO output pin
#define TIMER_TONE TIM17
#define TIMER_SERVO TIM16
// UART Definitions
#define SERIAL_UART_INSTANCE 1
// Default pin used for 'Serial' instance
// Mandatory for Firmata
#define PIN_SERIAL_RX PA3
#define PIN_SERIAL_TX PA2
잘 동작 하는군..
반응형