본문 바로가기
STM32Cube IDE output HEX file [2023/09/07] First Start. 소나무 기운 , 전자제품 개발/생산 STM32Cube IDE output HEX file 컴파일 후 출력되는 HEX파일이나 BIN파일이 필요할때가 있습니다. 프로젝트 설정에서 처리 방법 메뉴에서 Project > Properties 선택 C/C++ Build > Settings에 들어가서 Tool Settings > MCU Post build outputs 선택 이렇게 선택해 줍니다. 마무리 Project 폴더의 Debug폴더에 Hex, Bin파일이 생성된 것을 볼 수 있습니다. 참고문헌 틀린 부분이나 질문은 댓글 달아주세요. 즐거운 하루 보내세요. 감사합니다. 2023. 9. 7.
STM32에서 IWDG(WatchDog) 사용하기 [2022/05/12] First Start. 소나무 기운 , 전자제품 개발/생산 STM32에서 IWDG(WatchDog) 사용하기 STM32에는 두 가지의 watch dog이 있어요. IWDG : Independant Watchdog, down counter가 있고 이 counter가 0이 되면 MCU가 reset이 됩니다. 그러니 0이 되기 전에 값을 새로운 값으로 채워 넣어야 합니다. WWDG : Window Watchdog, counter값을 조정할 수 있는 구간이 있어서 좀 더 까다롭게 조건을 줄 수 있어요. 다음에 좀 알아보도록 하죠. 간단한 예제를 만들어 사용법을 알아보도록 할께요. STM32 has two watch dogs. IWDG : Independent Watchdog, down c.. 2022. 5. 12.
STM32CubeIDE 단축키 정리 [2022/1/4] 처음 시작 소나무 기운 , 전자제품 개발/생산 STM32CubeIDE 단축키 정리 자주사용하는 단축키 정리해 보자. 디버그시 반복적으로 사용하니. 디버그시 사용하는 단축키 정리 Start Debug F11 RUN F8 Terminate Debug Ctrl + F2 Step Over F6 Step Into F5 Step Out F7 Run to Cursor Ctrl + R Toggle Line Breakpoint Ctrl + Shift + B Go to Definition F3 Clean & Build Build Ctrl + B 이전 커서위치로 이동 Alt + Left 마무리 STM32CubeIDE 1.6.0에서 처리 참고문헌 틀린 부분이나 질문은 댓글 달아주세요. 즐거운 하루 보내세요.. 2022. 1. 4.
LTC2943 - Multicell Battery Gas Gauge [2021/12/12] 처음시작 소나무 기운 , 전자제품 개발/생산 LTC2943 - Multicell Battery Gas Gauge 배터리를 사용하는 제품들이 늘고 있습니다. 이때 배터리 잔량 표시는 필수 항목이지요. 정확한 배터리 잔량 표시를 위한 전용IC입니다. 특성 전압, 전류, 온도 센서를 가지고 있다. 이를 이용해 충전과 방전되는 전하량을 계산하여 정확한 배터리 잔량을 측정한다. - 배터리의 충전과 방전을 측정한다. - 3.6V ~ 20V 동작전압과 multiple cells를 지원한다. - 14bit deltasigma ADC가 있으며, 온도, 전압, 전류를 측정한다. - 1% Accuracy - High side sense - I2C / SMBus Interface - 알람 출력 기본 회.. 2021. 12. 12.
Two ways to Flash loader with UART(RS232) [2022/12/27] 프로그램 링크 업데이트 [2021/12/01] 처음시작 소나무 기운 , 전자제품 개발/생산 STM32 RS232(UART)를 이용한 2가지 라이팅 방법 STM32에 부트로더가 내장되어 UART를 이용하여 flash writing이 가능해요. 두가지 방법이 있어요. ST에서 공식적으로 제공하는 방법과 개인이 개발해서 공유해 주신 방법이 있어요. ST Micro 공식 지원 https://www.st.com/en/development-tools/flasher-stm32.html FLASHER-STM32 - STMicroelectronics FLASHER-STM32 - STM32 Flash loader demonstrator (UM0462) (replaced by STM32CubeProg.. 2021. 12. 1.
[TMP117] c sample code ( stm32용 ) 2021/10/30 처음 시작 소나무 기운 , 전자제품 개발/생산 TMP117 온도센서 사용하기 TMP117 온도센서입니다. I2C통신 0.1도 정확도 -20도 ~ +50도 측정, 최대 -55도 ~ 150도 측정 가능 16비트 0.0078도 분해능 보이는 예제 모두가 C++ 로 되어 있어서 C에서 쓰기위해 수정을 좀 했어요. 사용법 1mS마다 한번씩 TMP117Process()함수를 호출해 주면 됩니다. 그러면 500mS마다 한번씩 온도를 읽어 g_tStsDev.nBdTemp 변수에 넣습니다. 포함하셔서 컴파일하시면 없는 변수 몇개는 에러가 날겁니다. 조금 수정해서 사용하세요. tmp117.h 파일 #ifndef __TMP117_H__ #define __TMP117_H__ #ifdef __cplusplu.. 2021. 10. 30.
STM32F103 내부 온도센서를 읽어보자. 2021-08-12 처음 작성 소나무 기운 , 전자제품 개발/생산 STM32F103 내부 온도센서 읽기 CPU 주변온도를 알아야할 필요가 생겼어요. 주변온도이기 때문에 DIP타입의 NTC를 이용하는 것이 정상적이겠지만 추가적인 하드웨어가 필요하니 CPU내부의 온도센서를 이용해 읽어보고자 합니다. 이 센서는 칩 내부에 위치하며 디바이스 코어의 온도를 직접 측정합니다. 적용 방법 RM0008 Reference Manual 를 살펴보면 설명이 있습니다. STM32F103은 ADC1_IN16에 온도센서가 연결되어 있습니다. ADC_IN16을 연결하고 일어주면 됩니다. TSVREFE 비트를 사용하도록 설정해 줍니다. V25 : 25에서의 온도센서 전압값 Avg_Slope : 전압 대비 온도의 기울기 ( 계산식을 .. 2021. 8. 12.
[STM32] CubeIDE , post-build steps 기능 활용. 컴파일 완료 후 특정 작업 진행. [2021-06-24] 최초 작성 소나무 기운 , 전자제품 개발/생산 컴파일 완료 후 추가 작업(복사, 삭제) 진행하기 프로그램을 진행하고 나면 컴파일 완료 후에 추가로 작업이 필요한 경우가 있죠. 저 같은 경우에는 부트로더는 컴파일 후에 바이터리 파일을 특정 폴더로 복사해 줍니다. 메인 프로그램에서는 컴파일 후에 최신의 부트로더 데이터와 합쳐서 새로운 파일로 만듭니다. 정상적으로 컴파일이 되어 마무리하기위해 꼭 해야만 하는 작업이죠. IDE 에서는 대부분 이 기능을 지원 합니다. STM32CubeIDE에서 이 기능을 처리하면 되는지 확인해 보죠. 설정화면 확인 프로젝트 설정화면에서 확인할 수 있습니다. 프로젝트 설정에 들어가면 Setting >> Build Steps에서 볼수 있어요. Pre-build.. 2021. 6. 24.
STM32CubeIDE 두개의 프로젝트에서 파일 공유하기 [2021-06-13] 최초 작성 STM32CubeIDE 1.6.0 Windows 10 소나무 기운 , 전자제품 개발/생산 두개의 프로젝트에서 파일 공유하기 프로젝트를 진행하다보면 사용자 부트로더를 사용하거나 다른 기기와 통신을 해야 한다거나 할 경우가 생기죠. 우선 사용자 부트로더를 적용할 경우 프로젝트를 두개 생성하게 되는데 이때 라이브러리등의 파일을 각각의 프로젝트마다 가지고 있게 됩니다. 이는 라이브러리가 수정이 필요하거나 할 경우 공통의 정보가 변경 될경우 구개의 각각파일을 모두 수정하다 보면 실수가 생기게 마련이죠. 공통의 파일이나 라리브러리는 공용으로 사용하는 것이 좋아요. PC와 통신을 하게 될 경우도 프로토콜 등의 호환을 위해서 변경될때마다 공통의 화일로 규격을 공유하면 좋겠죠. 그래서 .. 2021. 6. 13.
STM32CubeIDE 프로젝트 복사하여 새로 생성하기 [최초 작성] 2021-06-03 소나무 기운 , 전자제품 개발/생산 STM32CubeIDE에서 프로젝트 복사하기 STM32CubeIDE 1.6.0 사용합니다. Windows 10 사용합니다. 프로젝트를 진행하다보면 부트로더를 올려야해요. 기본 동작의 프로그램을 작성하고 완료한 후 부트로더를 작성합니다. IO를 정리하고 맞춰나가는 작업이 생각보다 시간이 많이 걸리고 귀찮은 작업이기때문이죠. 메인 프로그램을 완료한 후 프로젝트를 복사하여 부트로더로 정리를 합니다. 프로젝트를 복사하는 방법을 알아볼께요. 프로젝트 복사하기 윈도우 탐색기에서 프로젝트 폴더를 복사합니다. 복사 붙혀넣기죠. 폴더명을 빠꿔줍니다. .cproject 파일이 들어있는 폴더를 통째로 복사합니다. main이 초기 작성된 프로그램입니다. X.. 2021. 6. 13.
STM32 RDP(Read Protection) 후 복구 안됨 현상. 2024-01-31 STM32CubeProgrammer 설명 추가 2023-11-13 오탈자 수정. 2021-04-21 처음 작성. ㅁ STM32F4를 사용하면서 RDP로 고생을 했어요. STM32에는 3가지 RDP가 있어요. 알아보죠. RDP는 Option bytes에 있어요. 자세한 사항은 문서를 보세요. www.st.com/content/ccc/resource/training/technical/product_training/b9/d2/34/3a/59/45/47/45/STM32L4_System_Memory_Protections.pdf/files/STM32L4_System_Memory_Protections.pdf/jcr:content/translations/en.STM32L4_System_Memory_.. 2021. 4. 21.
[작성중] STM32 SPI bugs 속도에 따른 버그 SPI_DIRECTION_2LINES_RXONLY 사용시 문제 MISO만 사용시 문제 SPI_DIRECTION_2LINES 를 사용후 정상 뒤늦게 내용을 정리하려고하니 기억이 나질 않네... 큰일입니다. 다시 고민을 좀하면서 작성하고도록 하겠습니다. 2021. 3. 24.
[작성중] STM32F103 PWM 출력 2021-03-10 초안 작성 ㅁ 타이머 설정을 이용하여 PWM파형을 출력한다. ㅁ PWM이란 ? 간단히 설명된 블로그입니다. m.blog.naver.com/PostView.nhn?blogId=nissei-gtr&logNo=221606567972&proxyReferer=https:%2F%2Fwww.google.com%2F PWM 제어란? 안녕하세요 BROTHER GTR 입니다.​BROTHER GTR의 라인업 중 BLDC 모터가 있죠.​... blog.naver.com ㅁ 타이머의 기능으로처 처리 ㅁ cubeMX 설정 ㅁ PWM의 시작 HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_2); ㅁ PWM의 duty 조절 __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANN.. 2021. 3. 10.
[작성중] STM32F103 usart RX interrupt 설정 2021-03-10 최초 등록 ㅁ HAL 드라이브 사용 법 및 문서 보기 방법 ㅁ cubeMXIDE 사용법 ㅁ 콜백함수 등록 ㅁ 인터럽트 설정 2021. 3. 10.
[HM-10] BLE 모듈 제어하기_SLEEP모드 안녕하세요. 소나무기운입니다. 오늘은 HM-10 BLE모듈을 다뤄 볼겁니다. BlueTooth와 다르게 BLE는 몇가지 특징이 있지요. 요즘은 핸드폰과 연결을 위해서 BLE를 많이 사용합니다. ㅁ BLE의 특징 1. 저소비전력 2. 낮은 통신 속도 3. 안드로이드 연결 가능, 아이폰도 연결 가능( 블루투스는 안됩니다.) ㅁ 소스 코드 정보 1. STM32F767ZI 사용. 2. HAL Driver 사용 안드로이드용 BLE테스트 프로그램 프래이스토어에서 "BLE 터미널 검색"(이 앱은 참 광고가 많이 떠서 짜증남) 제일 많이 사용하는 BLE같습니다. at명령어를 사용합니다. HM-10의 AT명령어는 여기저기 설명이 많이 되어 있으니 검색해 보세요. 기본 송신과 수신의 함수입니다. //============.. 2020. 12. 10.
[EEPROM] M24128 I2C EEPRM 제어하기 안녕하세요. EEPROM 제어는 기본이죠. 많이들 알고 계실거고 여기저기 자료도 많이 있죠. 자료 저장 차원에서 간단히 넣습니다. 메모리는 보통 bit단위로 표시하더라구요. 128Kbit, 16KB짜리 메모리네요. EEPROM입니다. 속도가 빠른 RAM과는 비교되지만 비휘발성 메모리로 간단한 설정값들 저장하기엔 딱이죠. I2C로 제어합니다. I2C 클럭 400kHz 지원합니다. HAL 드라이버 사용 STM32F767ZI 사용 #define MEM_ADDR 0xA0 uint16_t i; //----------------------------------------------------------------------------------------------------- void Flash_Read(void.. 2020. 11. 1.
[LUX센서] BH1750 사용하기. 조도를 읽을 수 있는 센서네요. I2C통신으로 제어 구매는 인터넷에 다수 센서 주변의 밝기를 16bit 값을 읽을 수 있어요. 저는 STM32F767ZI micom에서 사용하였습니다. HAL 드라이버 사용. BH1750.h 내용입니다. 초기화와 읽기 뿐이네요. //-------------------------------------------------------------- // File : BH1750.h //-------------------------------------------------------------- #ifndef __BH1750_H #define __BH1750_H #include "stm32f7xx_hal_msp.h" //--------------------------------.. 2020. 11. 1.
IAR 손상된 프로젝트 복구하기 IAR컴파일러를 사용하다보면 프로젝트 파일에 문제가 생기는 경우가 있어요. 몇가지 유형이 있어요. 첫째. 정전등의 이유로 프로젝트가 비정상 종료 후 더이상 시작되지 않는경우 둘째. Go to definition 이 동작하지 않는 경우 셋째. Source browser 정보를 사용할수 없다. 넷째. 디버깅이 정상적으로 되지 않는다. 해결방법 첫째. 작업관리자에 남아있는 프로세스가 있는지 확인하고 모두 닫으세요. 둘째. 프로젝트를 복하하여 안전한 곳에 보관하세요. 셋째. 다음의 폴더에 있는 모든 파일을 삭제하세요. \Debug\Obj \settings c:\users\UserName\AppData\Local\Temp 넷째. 컴퓨터 재부팅 다섯째. IAR 시작 좋은 결과가 있으시길. 2020. 10. 28.
ST 홈페이지에서 STM8S 자료를 찾아보자. 예전에 받아둔 STM8S EV Kit이 생각 났어요. 아주 저렴한 가격의 8비트 마이컴으로 소개받았어요. STM8 시리즈 중에서도 가장 저렴한 시리즈에요. 오랜된 것이지만 개발환경만 꾸며보자 생각했어요. ST홈페이지에 오랜만에 왔어요. 자료를 찾아나가는 법을 설명해도 좋겠다고 생각했어요. 제품에 www.st.com/stm8svldiscovery 가 적혀 있어요. 전반적인 자료를 구할 수 있어요. 메뉴에 대해서 살펴 볼께요. 다음과 같이 생겼어요. 1. Overview 보드에 대한 대략적인 설명을 볼수 있어요. 2. Sample & Buy 무료샘플을 요청하거나 제품을 구매할 수 있어요. 3. Resources 제품의 사양, 기술문서, 사용자 설명서, 회로도, 거버, BOM, 브로셔, 라이센스 등 자료가 있.. 2020. 9. 24.
[STM32] Task, Thread 그리고 Process 월요일 출장으로 춘천 김유정역 앞 카페에서 잠깐 글을 적습니다. 8비트 마이컴만 사용하다가 32비트로 넘어오면서 관심만 가지고 있던 freertos를 사용해 본다. STM32CubeMX를 사용하여 핀 설정, 타이머 설정등을 하면 기본코드를 자동으로 생성할 수 있다. 구글에서 stm32 freertos 정도로 검색하면 많이 찾아볼 수 있다. 실제 OS를 생성해서 필요한 작업들을 진행하다보면서 TASK와 THREAD가 무슨 차이가 있는지가 궁금하다. 찾아봐도 명확한 설명이 없다. 몇가지 자료를 분석하여 나름 이른 결론은 다음과 같다. (잘못 파악했을 수도 있습니다. ^^) Process OS에서의 하나의 프로그램이라 생각한다. 워드프로세서를 작성하거나 음악을 재생하거나 하는등의 프로그램 한가지이다. STM3.. 2020. 8. 31.