목록분류 전체보기 (227)
아!두이노, 라즈베리, 코딩 노가다
이것도 결과 동영상은 유튜브에 올렸다. 참고하기 바란다. https://youtube.com/shorts/SRTL9K8dJM0?si=E_6WM0ct8sAeIl69
이제 부터 응용이다.사실 코딩을 오래한 사람들은 그냥 넘어 가기 바란다.사실 코딩만 30년 한사람의 입장에서는 별로 그다지, 큰 의미가 있는것은 아니다.그래도 초보라면 여러가지 응용을 하기 바란다.led가 왔다 갔다 하던지 led가 움지이게 하던지 창의적인 발생은 무궁 무진하다.여기서 하는것은 그냥 단지 예시일 뿐이다.추가한 소스코드는 아래와 같다. HAL_GPIO_WritePin(LED7_GPIO_Port, LED7_Pin|LED6_Pin|LED5_Pin|LED4_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin|LED2_Pin|LED1_Pin|LED0_Pin, GPIO_PIN_RESET); void StartDefault..
결과 동영상은 유튜브에 일단 올렸다. https://youtube.com/shorts/V6QhennIqcU?si=kHcybQCmR277XUuD
이제 전체 코드를 살펴보자.실제로 입력하는 코드는 많지 않지만, 그래도 코드에 익숙해야 할 것이다./* USER CODE BEGIN Header *//** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2025 STMicroelectronics. * All rights reserved. ..
이제 LED를 온오프하기 위해서 GPIO 8개를 outport로 설정하고 LED라벨을 기록하자. 그리고 이전에 입력했던것도 한번 다시 확인해 보자. 입력하는 코드는 몇줄 되지 않는다. GPIO_TypeDef *led_port[8] = {LED0_GPIO_Port, LED1_GPIO_Port, LED2_GPIO_Port, LED3_GPIO_Port, LED4_GPIO_Port, LED5_GPIO_Port, LED6_GPIO_Port, LED7_GPIO_Port};uint16_t led_pin[8] = {LED0_Pin, LED1_Pin, LED2_Pin, LED3_Pin, LED4_Pin, LED5_Pin, LED6_Pin, LED7_Pin};void StartDefaultTask(void ..
이제 LED를 온오프하기 위해서 GPIO 8개를 outport로 설정하고 LED라벨을 기록하자. 그리고 이전에 입력했던것도 한번 다시 확인해 보자. 입력하는 코드는 몇줄 되지 않는다. GPIO_TypeDef *led_port[8] = {LED0_GPIO_Port, LED1_GPIO_Port, LED2_GPIO_Port, LED3_GPIO_Port, LED4_GPIO_Port, LED5_GPIO_Port, LED6_GPIO_Port, LED7_GPIO_Port};uint16_t led_pin[8] = {LED0_Pin, LED1_Pin, LED2_Pin, LED3_Pin, LED4_Pin, LED5_Pin, LED6_Pin, LED7_Pin};void StartDefaultTask(void ..
전체 코드 이다./* USER CODE BEGIN Header *//** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2025 STMicroelectronics. * All rights reserved. * * This software is licensed under terms tha..
STM32을 하면서 굳이 멀티쓰레드 까지는 필요 없겠지만, 향후 확장성을 고려하여 멀티쓰레드 코디을 할 계획이다.STM CubeIDE는 특정 위치에 코드를 추가 하지 않으면 코드를 재생성 하면 지워지는 경향이 있으니, 꼭 넣으라고 하는데 넣기 바란다, 일단 시작 하기전에 세팅 부터 하자 그리고 이번 주제의 핵심은 아래 두개의 함수 이다.void StartDefaultTask(void *argument){ for(;;) { // 메인 로직이 들어갈 곳 (비워두거나 시스템 모니터링 등 수행) // LED 토글 (LD2_GPIO_Port와 LD2_Pin은 main.h에 정의되어 있어야 함) //HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin); //..
아두이노 대부분 고정 클럭이라 별도로 조정이 필요 없을것이고Atmega128은 16Mhz로 대부분 고정이라 별도 조정이 필요 없다.그러나 STM32는 세부조정 부터 할 것이 많다.그래도 가장 간단하게 하는 기본 조정만 해보자. 물론 클럭 속도는 타이머에 영향을 미치지만 일단 최대 클럭으로 해보자. 기본값이라서 기본으로 지정되어 있는것만 확인 하자.High Speed Clock : BY PASS ClockLow Speed Clock : cystal/Ceramic Ress...라고 지정 하면 기본적인 지정이 끝난다.RCC_OSC_INRCC_OSC_OUTRCC_OSC32_INRCC_OSC32_OUT 그리고 마지막으로 FCLK에 72를 입력하자, 그러면 나머지는 자동으로 변경된다.물론 세부 조정을 해도 상관 ..
