- Arduino IDE 설정
- Arduino IDE 프로그래밍을위한 STM8S103F3 보드 설정
- Arduino를 사용하여 STM8S103F3에서 LED 깜박임
- STM8S103F3 용 Arduino 핀 매핑
- Arduino IDE에서 SPL 라이브러리 컴파일
Arduino는 지원하는 사용자 커뮤니티 덕분에 의심 할 여지없이 사용자 친화적이고 빠른 프로토 타이핑 도구로 성장했습니다. 오늘날 오픈 소스 특성으로 인해 플랫폼은 Arduino 보드뿐만 아니라 NodeMCU, ESP8266, STM32, MSP430 등과 같은 다른 개발 보드에도 Arduino IDE에서 프로그래밍 할 수 있습니다. 방법을 알고 싶다면 아래 링크를 따라갈 수 있습니다.
- Arduino IDE로 NodeMCU 프로그래밍
- Arduino IDE로 ESP8266 프로그래밍
- Arduino IDE로 STM32 프로그래밍
- Energeia로 MSP430 프로그래밍 (Arduino와 유사)
의심 할 여지없이 Arduino IDE는 초보자에게 적합하지만 여전히 전문적인 개발을 위해서는 네이티브 개발 환경 및 컴파일러와 함께 작업하는 것이 좋습니다. PIC 마이크로 컨트롤러를위한 MPLABX 및 TI 마이크로 컨트롤러를위한 Code Composer 스튜디오와 같습니다. 네이티브 플랫폼을 사용하면 레지스터 수준 (필요한 경우 어셈블리 수준까지)에서 작업 할 수 있으므로 프로그램의 메모리 효율성을 높일 수 있습니다. 이것이 우리가 STM8S 마이크로 컨트롤러 튜토리얼을 시작한 이유입니다.시리즈에서 플랫폼을 선택한 것은 STVD와 Cosmic C 컴파일러였으며 둘 다 무료로 다운로드하고 사용할 수 있습니다. 하지만 슬프게도 STVD는 매우 오래된 IDE이며 작업하는 동안 90 년대처럼 느껴집니다. 게다가 STVP 프로그래머 도구는 IDE와 잘 통합되어 있지 않으므로 별도로 사용해야합니다. 이것은 컴파일 및 업로드 시간을 증가시키고 개발 및 디버깅을 어렵게 만듭니다.
나는 대안을 찾아서 Arduino IDE가 구조를 위해 왔을 때입니다. Michael Mayor의 Sduino라는 도구를 사용하면 Arduino IDE에서 직접 STM8s 마이크로 컨트롤러 (대부분의 인기있는 마이크로 컨트롤러)를 쉽게 프로그래밍 할 수 있으며이를 설정하고 시작하는 데 몇 분 밖에 걸리지 않습니다. 더 흥미로운 것은 Arduino 스타일 프로그래밍을 지원하는 것 외에도 Sduino를 사용하면 SPL (Standard Peripheral Library)을 사용할 수 있습니다. 즉, STVD에서 동일한 프로그램을 Arduino IDE로 거의 컴파일 할 수 있다는 것입니다. Sduino는 멋진 도구이지만 아직 개발 중이며 아직 많은 Arduino 라이브러리 및 기능을 지원하지 않습니다. 즉 , STM8S103F 개발 보드와 함께 Arduino IDE 를 사용하는 방법을 알아 보겠습니다 .이 보드를 완전히 처음 사용하는 경우 STM8S103F 자습서 시작하기를 확인하십시오. STM8S103F 외에도 Sduino는 STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14 등과 같은 다른 STM8S 마이크로 컨트롤러도 지원합니다.이 튜토리얼에서 설명하는 절차는 모두 동일합니다.
Arduino IDE 설정
1 단계: Arduino 환경을 완전히 처음 사용하는 경우 운영 체제에 따라 Arduino를 다운로드하고 설치합니다.
2 단계: 따르 파일 -> 환경 설정은 환경 설정 창을 열고 추가 보드 URL 텍스트 상자를 관리로 아래의 링크를 붙여 넣기하고 확인을 클릭합니다.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
3 단계: 따르 도구 -> 보드 -> 게시판 관리자가 보드 관리자 대화 상자를 열고 "sduino"을 검색합니다. 설치를 클릭하고 설치가 완료된 후 대화 상자를 닫습니다.
4 단계: IDE를 다시 시작한 다음 도구-> 보드-> STM8S103F3을 따릅니다 . 다른 개발 보드가있는 경우 다른 보드를 선택할 수 있습니다.
이제 Arduino IDE는 STM8S103F3 개발 보드를 프로그래밍 할 준비가되었습니다. 보드를 설치하고 컴퓨터에 연결 한 다음 간단한 LED 깜박임을 프로그래밍 해 보겠습니다.
Arduino IDE 프로그래밍을위한 STM8S103F3 보드 설정
아래 그림과 같이 ST-Link V2를 개발 보드와 연결합니다.
연결은 매우 간단하며 가장 좋은 점은 외부 구성 요소가 필요 없다는 것입니다. 프로그래밍을위한 하드웨어 설정이 아래에 나와 있습니다. 방금 여성 헤더 와이어를 사용하여 연결했습니다. 그러나 ST-Link의 핀 배치가 내 핀 배치와 다를 수 있으므로 연결하기 전에 장치의 핀 배치를 따르십시오.
연결하고 장치를 컴퓨터에 연결하면 드라이버 설치가 자동으로 시작됩니다. 장치 관리자를 사용하여 컴퓨터가 ST-LINK V2를 올바르게 검색했는지 확인할 수 있습니다. 보드에 처음 전원을 공급하는 경우에도 보드의 테스트 LED가 깜박입니다.
Arduino를 사용하여 STM8S103F3에서 LED 깜박임
이제 간단한 LED 깜박임에 대해 예제 섹션의 깜박임 프로그램을 사용할 수 있습니다. File-> Example-> Generic_Example-> Basics-> Blink를 따릅니다.
온보드 LED를 깜박이는 전체 프로그램은 다음과 같습니다.
void setup () {// 디지털 핀 LED_BUILTIN을 출력으로 초기화합니다. pinMode (LED_BUILTIN, OUTPUT); } // 루프 함수는 영원히 계속해서 실행됩니다 void loop () {digitalWrite (LED_BUILTIN, HIGH); // LED를 켭니다 (HIGH는 전압 레벨). delay (1000); // 두 번째를 기다립니다. digitalWrite (LED_BUILTIN, LOW); // 전압을 낮게 만들어 LED를 끕니다. delay (1000); // 잠시 기다립니다}
보시다시피 이것은 Arduino 깜박임 프로그램과 매우 유사합니다. 프로그램을 업로드하려면 위에서 설명한대로 보드가 st-link v2를 통해 연결되어 있는지 확인하고 아래 그림과 같이 프로그래머를 "ST-Link / V2"로 선택합니다.
참고: Arduino 보드와 달리 보드 프로그래밍을 위해 올바른 COM 포트를 선택할 필요가 없습니다. 직렬 통신에만 COM 포트를 사용합니다.
COM 포트를 선택하면 코드 업로드도 매우 간단합니다. 업로드 버튼 (아래에 빨간색 원으로 표시됨)을 누르면 코드가 자동으로 컴파일되어 보드에 업로드됩니다.
즉, 프로그램이 보드에 직접 업로드되고 온보드 LED가 깜박이는 것을 볼 수 있습니다. 외부 업로드 소프트웨어도없고 아무것도 없습니다. 그렇게 쉽습니다. 이 페이지 하단의 비디오에서 작업을 확인할 수 있습니다.
STM8S103F3 용 Arduino 핀 매핑
여기서부터 진행하려면 STM8S103F3 개발 보드의 각 핀을 주소 지정하는 방법을 알아야합니다. 핀 매핑은 아래 이미지에서 이해할 수 있습니다.
예를 들어 STM8S103F3 보드 회로도에서 온보드 LED가 PB5에 연결되어 있음을 알고 있습니다. Arduino에서이 핀을 처리하려면 3을 사용해야하므로 프로그램을 다음과 같이 작성할 수 있습니다.
void setup () {// 디지털 핀 LED_BUILTIN을 출력으로 초기화합니다. pinMode (3, OUTPUT); } // 루프 함수는 영원히 계속해서 실행됩니다 void loop () {digitalWrite (3, LOW); // LED를 켭니다 (HIGH는 전압 레벨). delay (1000); // 두 번째를 기다립니다. digitalWrite (3, HIGH); // 전압을 낮게 만들어 LED를 끕니다. delay (1000); // 잠시 기다립니다}
Arduino IDE에서 SPL 라이브러리 컴파일
앞서 언급했듯이 Arduino IDE에서 SPL 라이브러리를 사용할 수도 있습니다. 기억 하시나요? 이전 STM8S GPIO 자습서에서 푸시 버튼을 사용하여 온보드 LED와 외부 LED를 깜박이는 코드를 작성했습니다. 수정이 거의없는 동일한 코드도 Arduino에서 컴파일 할 수 있습니다. 수정 된 코드는 아래와 같습니다.
#define Green_LED GPIOA, GPIO_PIN_3 void setup () {GPIO_DeInit (GPIOA); // 작동 할 포트 A를 준비합니다. GPIO_DeInit (GPIOB); // 작동을 위해 포트 B 준비 // PA2를 입력 풀업 핀으로 선언 GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // PA3을 Push Pull 출력 핀으로 선언 GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // PB5를 푸시 풀 출력 핀으로 선언 GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } void loop () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // 버튼을 누른 경우 GPIO_WriteLow (Green_LED); // LED ON else GPIO_WriteHigh (Green_LED); // LED 꺼짐 GPIO_WriteReverse (GPIOB, GPIO_PIN_5); 지연 (100); }
Arduino IDE를 Sduino와 함께 마무리하는 것은 STM8S로 개발을 시작하려는 경우 매우 좋은 옵션입니다. 그러나 플랫폼은 아직 개발 중이며 많은 Arduino 라이브러리가 아직 지원되지 않습니다. 그래도 깊이 파고 들어 발전에 기여하고 싶다면 좋을 것입니다. 그러나 학습을 위해 STVD 및 cosmic C 컴파일러로 튜토리얼 시리즈를 계속할 것입니다.