728x90

안녕하세요 하드웨어 개발자 보노노 입니다.

업무 역량을 늘리기 위해 펌웨어도 공부하려고 합니다.

좋은 유튜브 사이트가 있어 키트를 구매하였고, 무작정 따라하면서 기록을 남기고자 글을 올립니다.

 

 


 

준비물

 

  • 링크 안에 구매 리스트 모두 적혀 있으므로 참고 바랍니다.

2. 펌웨어 프로그램 설치 방법 ( https://www.youtube.com/watch?v=WzmPlObIr_c&list=PLUaCOzp6U-RqMo-QEJQOkVOl1Us8BNgXk&index=1 )

 

  • 위의 링크 [강좌 0~2]에 CubeMX 설치 방법이 있으므로 비슷한 방법으로 CubeIDE를 다운 받으시면 됩니다.
  • TrueSTUDIO와 CubeMX를 모두 합친 프로그램이 CubeIDE 입니다. 여기선 CubeIDE로 설명 드리겠습니다.

HW (회로도)

  • 스위치는 Pull-down이 되어있고 LED는 Pull-up이 되어있음.
  • 스위치의 포트는 HIGH 신호를 공급함. 스위치를 누를 경우 동작 함.
  • LED의 포트는 LOW신호를 주어야 LED가 출력 됨.

CubeIDE 설정

 
 
  • 외부 클럭 설정
  • GPIO 포트 설정 (SW는 GPIO_INPUT 설정, LED는 GPIO_OUTPUT 설정)

*참고

  • 포트 설정 후 Code Generator할 시, 위의 사진대로 설정.
  • 별도의 파일로 만들기 위해 체크. 체크 안할 경우 기존 프로그램을 덮어 씌움.

 

FW

자동완성 기능 : Ctrl + space

정의로 이동 : F3

다운로드(DEBUG MODE) : F11

디버그 모드에서 한줄씩 수행 : F6

디버깅 모드 종료 : 컨트롤+ F2

 

- main.c

/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file           : main.c
  * @brief          : Main program body
  ******************************************************************************
  * @attention
  *
  * Copyright (c) 2022 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "gpio.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */

/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */

/* USER CODE END PTD */

/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */

/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */

/* USER CODE END PM */

/* Private variables ---------------------------------------------------------*/

/* USER CODE BEGIN PV */

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */

/* USER CODE END 0 */

/**
  * @brief  The application entry point.
  * @retval int
  */
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();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

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

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
    if(HAL_GPIO_ReadPin(GPIOE, GPIO_PIN_3) == GPIO_PIN_SET)  // SW를 눌렸을 때
    {
      HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12, GPIO_PIN_SET);    // RGB(BLUE) LED ON
      HAL_GPIO_WritePin(GPIOD, GPIO_PIN_13, GPIO_PIN_SET);    // RGB(RED) LED ON
      HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14, GPIO_PIN_SET);    // RGB(GREEN) LED ON
    }
    else            // SW를 땠을 때
    {
      HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12, GPIO_PIN_RESET);    // RGB(BLUE) LED OFF
      HAL_GPIO_WritePin(GPIOD, GPIO_PIN_13, GPIO_PIN_RESET);    // RGB(RED) LED OFF
      HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14, GPIO_PIN_RESET);    // RGB(GREEN) LED OFF
    }
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

 

 

FW 설명

 

 
728x90
728x90

안녕하세요 하드웨어 개발자 보노노 입니다.

MCU의 통신을 다루면서 케이블 작업을 할 때가 종종 있습니다.

매번 헷갈리기도 하여 간략하게 정리 된 글을 공유 드립니다.

 

 


 

 

통신 별 사양

232 통신

TX    ↔    RX

RX   ↔     TX 

GND   ↔   GND 

422 통신

TXD+    ↔    RXD+

TXD-     ↔    RXD- 

RXD+    ↔    TXD+

RXD-    ↔    TXD-

GND     ↔   GND ( 안해도 됨)

 

485 통신

485의 경우 TX+ , RX+ 는 +로 같이 묶여있고, TX-, RX-는 -로 같이 묶여있다고 생각하면됨.

485 컨버터 사용할때 TX+, RX+을 묶어 결선하고, TX-, RX- 묶어 결선해서 2가닥 사용하면 됨.

 

TRXD+    ↔    TRXD+

TRXD-    ↔    TRXD-

GND       ↔    GND ( 안해도 됨)

 

 

 

 

 

728x90
728x90

안녕하세요 하드웨어 개발자 보노노 입니다.

오늘은 ST사 MCU인 STM32F103 칩에 대해 직접 정리해 보았습니다.

아래 사진 외에 첨부된 자료에 더 많이 있으니 첨부자료 다운받아 보시는걸 추천드립니다.

네이버 및 구글링 하여 정리하였으니 참고 바랍니다. 또한 잘못된 점이 있으면 댓글 바랍니다!

 

 

STM32F103 칩특징.pptx
0.90MB

 


 

 

 

 

 

모두 화이팅~!

 

 

 

 

 

 

 

 

 

 

 

728x90

'하드웨어' 카테고리의 다른 글

EMC(Electro Magnetic Compatibility) 전자파 적합성  (0) 2022.08.17
하드웨어 입문 1~6 읽어보기  (0) 2021.07.02
728x90

안녕하세요 하드웨어 개발자 보노노 입니다.

블로그 및 서적을 보면서 공부하시는 개발자님께 유용한 정보가 될까 싶어 제가 자주 이용하는 가이드 및 강의 사이트를 올려봅니다

 


 

 

ST 홈페이지의 국문 가이드 입니다.

교육 및 행사, 뉴스, STM32소개, STM32 개발환경, 자료실, 지원 및 커뮤니티, contact 등 다양한 메뉴로 구성되어있으며 입문자들에게 유용한 정보를 줍니다.

 

교육 및 행사

- st사에서 주최하는 교육 입니다. 과정명, 일시, 일수, 시간, 비용 등 알 수 있습니다.

- 비용이 무료라는 점과 하루에 모두 들을수 있는 점에서 맛보기? 정도 하고 오면 좋을것 같습니다.

지난 날짜인 1월 16일교육을 들어가보면 주 교육 커리큘럼과 준비사항 및 교육일정은 아래와 같이 나옵니다.

- STM32 MCU 및 개발 환경

- STM32 CubeMX 및 STM32G0 기능 및 특징

- GPIO, External Interrupt, Timer, UART 기본 기능 실습

준비 사항 및 교육 일정

 

2. 뉴스

새로 개발된 제품들을 열거하여 놓았다. 신제품 순으로 볼 수 있으니 개발 키트 및 유용한 정보를 볼 수 있습니다.

3. STM32 소개

말그대로 제품 소개 입니다. STM 제품도 시리즈가 나뉘어져있으며 각 시리즈에 적용된 기능 및 성능을 알 수 있습니다.직접 사진을 클릭해보면 MCU의 디테일한 사양을 알 수 있습니다. 사진을 누르면 영어로 나오므로 크롬을 통해서 열면 번역이 됩니다. 참고 삼아 말하지만 개발자는 영어를 읽는 것에 익숙해져야 합니다. 데이터시트가 다 영문이기 때문입니다. 데이터시트를 읽다보면 다 고만고만한 영어라는걸 알 수 있으므로 어렵게 생각하지말고 차근차근 읽어보자.

4. STM32 개발 환경

STM32 Nucleo 개발보드와 X-Nucleo 확장보드 에 대한 설명이 동영상으로 나옵니다.

첫번째 부터 네번째 까지 순서대로 설명이 나와있으므로 이해하기가 쉽습니다.

5. 자료실

3번의 STM32 소개를 동영상으로 알려주므로 더욱 쉽게 이해하기 좋습니다.

STM 제품의 SPI, 전원 등 제품의 기능을 설명해주므로 원하는 기능의 동영상을 찾아 설명을 들어보자.

강의안에 한글 자막이 포함되어 보기 쉬울 것 입니다.

6. 지원 및 커뮤니티

각종 질문들과 기술에 대한 답변을 달아줍니다. 궁금한 점이 있다면 이곳에 문의해보자.

7. Contact

- st사의 본사, 대리점, 교육 행사 관련 문의 전화번호를 알 수 있습니다.

​유튜브 강의 영상

https://www.youtube.com/playlist?list=PLUaCOzp6U-RqMo-QEJQOkVOl1Us8BNgXk

 

[HAL, CubeMX, TrueSTUDIO를 이용한 ChrisP's STM32F4 속성으로 따라하기]

HAL드라이버, CubeMX와 TrueSTUDIO를 이용한 STM32F4 따라하기 강좌입니다. STM32CubeIDE로도 본 강좌를 따라하실 수 있습니다. 강의에서 사용하는 실습보드는 https://smartstore.naver.com/mhivestore/products/49537...

www.youtube.com

- Keil u vision 또는 CubeMX, TrueSTUDIO 툴을 사용하여 펌웨어 하는 내용이 담겨있습니다.

이 유튜브의 강의 목록을 보면 다양한 기술을 습득 할 수 있습니다. 참고하여 따라만 해도 많은 걸 배울 수 있을 것이다.

이 링크로 인해 ST사 MCU에 대한 거부감이 조금 줄어들기 바라며,

ST MCU 파인더 어플리케이션도 참고하면 좋습니다. 원하는 MCU 제품을 찾아주는 어플리케이션이지만 막상 휴대폰에 깔고 켜진 않게 되네요.

 

 

모두 열공하시기 바랍니다! 화이팅!

728x90

+ Recent posts