본문 바로가기

분류 전체보기976

MFC ] 엔터, ESC 키 입력시 종료되지 않게하기 엔터키 입력 시 종료되지 않게하기 OnOK 함수 재정의 OnOK() 호출 주석처리 void CRwrTesterDlg::OnOK() { // TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다. //CDialogEx::OnOK(); } ESC 키 입력 시 종료되지 않게하기 OnCancel() 함수를 재정의해서 주석처리하면 Alt+F4가 눌리거나 다이얼로그의 X버튼이 눌린 경우에도 종료되지 않기 때문에 다른방법을 쓴다. PreTranslateMessage(MSG* pMsg) 함수 재정의 해당함수는 키보드 및 마우스 메시지를 번역하고 처리하기 전에 호출되는데 ESC키 입력시 바로 리턴하여 어플리케이션이 종료되지 않도록 한다. BOOL CRwrTesterDlg::PreTranslateMes.. 2023. 9. 15.
TMS320F28388D ] 부트 과정 Reset이 일어나면 먼저 PC(Program Counter)는 Reset Vector가 fetch되어있는 0x3FFFC0으로 설정된다. Reset Vector의 내용은 Boot ROM 영역에 있는 InitBoot 코드로 점프하는 것이다. Boot ROM은 한번만 프로그래밍 가능한 영역으로 공장 출하시 TI사가 부트로더 Software를 마스킹해둔 곳인데, 여기에 부트로더 역할을 하는 InitBoot 함수가 있다. InitBoot 코드가 실행되면 부트로딩을 위한 루틴을 수행하고 I/O 핀 상태에 따라 BootMode를 결정한 뒤 BootMode에 따라 온칩 메모리의 특정 Entry Point를 실행하게 된다. 참고로 Boot ROM에 마스킹된 Boot Code는 아래 경로에서 살펴볼 수 있다. C:\ti.. 2023. 8. 16.
TMS320F28388D ] Reset Sources 유저매뉴얼의 Reset Sources 테이블 첫번째 열이 Reset Source 목록이고 첫번째 행이 각 Reset이 발생했을 때 초기화되는 여부를 표시한다. Yes인 것은 해당 회로가 리셋 된다는 뜻이고, - 는 해당회로 기존 상태로 남는다는 뜻이며, Hi-z는 하이 임피던스 상태라는 뜻이다. Power-On Reset (POR) POR 회로는 칩에 전원이 인가되고 안정된 상태에 이르기까지 칩을 계속 리셋 상태로 묶어두는 회로로, GPIO 핀들의 글리치를 억제하고, 칩이 깨끗하게 시동 될 수 있게한다. POR이 발생하면 칩의 모든 회로는 리셋상태가 되고, IO핀은 Hi-Z 상태가 되며, /XRS 핀은 Low 신호를 출력하게 된다. 이때 /XRS 핀의 출력 신호는 칩과 연결된 다른 IC 소자들을 리셋 시.. 2023. 8. 14.
TMS320F28388D ] SPI Clocking Schemes / CPOL, CPHA 설정 TMS320F2838x칩 Clock Phase 설정에는 주의할 점이있다. 우선 SPI 통신을 하려면 CPOL(Clock Polarity)과 CPHA(Clock Phase)라는 두 가지 파라미터를 설정하는데 이 설정 조합에 따라 다음의 4가지 SPI 모드가 있다. 그리고 TMS320F2838x driverlib에도 Mode 설정이 존재하는데 CPOL은 동일하지만, CPHA를 설정할 때 주의가 필요하다. 보통은 CPOL, CPHA 설정에 따라 클럭과 데이터를 동기화하는 방법은 다음과 같다. CPOL = 0: IDLE 일 때 클럭이 LOW 레벨이다. CPHA = 0 : 데이터가 클럭의 first edge에서 캡쳐(샘플링)되고, 그 다음 edge에서 전파(출력)된다. CPHA = 1 : 데이터가 클럭의 seco.. 2023. 8. 14.
TMS320F28388D ] eCAP으로 ePWM 신호 Period와 Duty Cycle 측정 특정 주파수, 듀티사이클의 PWM신호를 생성하고 eCAP으로 PWM신호 측정    PWM 설정 ePWM의 TBCLK(Time Base Clock)은 아래 공식으로 설정하는데 prescale 값은 둘 다 1로 한다. TBCLK = EPWMCLK/(HSPCLKDIV * CLKDIV) Period를 25000으로 설정하고, Counter Mode는 up-down으로 한다. 카운터가 up-dwon 모드일 때 PWM 파형의 주파수는 TBCLK/(2*period)인데 EPWMCLK는 따로 클락설정이 없으면 디폴트가 SYSCLK/2여서 100MHz니까 100,000,000 / 50,000 = 2kHz가 된다.     Counter Compare 값은 18750으로 설정.  .. 2023. 8. 14.
TMS320F28388D ] ECAP ECAP CAP 은 Capture 의 약자로 펄스 신호의 시간정보를 검출하는 기능을 한다. 펄스의 Rising edge와 Falling edge 시간 정보를 확인하여 주기, 듀티 등을 측정할 수 있고, 펄스의 특정 edge에서 인터럽트를 발생시킬 수도 있다. ECAP의 사용 예 회전체의 속도 검출 신호의 Pulse period, Duty ratio 측정 출력이 PWM 타입인 센서의 정보 디코딩 ECAP의 특징 TMS320F28388D 칩에는 7개의 eCAP 모듈이 있다. 그리고 eCAP 모듈의 특징은 다음과 같다. 200MHz 시스템 클럭사용, 5ns의 시간 분해능 캡쳐 핀은 Input X-BAR를 통해 라우팅되므로 어떤 GPIO든 사용 가능 32-bit 타이머 기반 4개의 32-bit 타임 스탬프 캡쳐.. 2023. 8. 14.
만능기판에서 SOIC type IC 사용하기 + SMD 부품 납땜방법 나는 주로 2.54mm 피치의 만능기판이나 브레드보드를 사용하기 때문에 DIP type으로 된 IC를 구해서 쓰는데 DIP type 재고가 없어서 어쩔 수 없이 1.27mm 피치의 SMD(표면실장)부품으로 구입하는 경우가 있다. 이럴 땐 아래와 같은 변환기판을 이용하면 만능기판이나 브레드보드에서 사용가능하다. 변환기판 구입시에는 데이터시트를 보고 pin수, pitch, hole 규격이 맞는 것으로 구입한다. SMD 부품 납땜 방법 : https://m.vctec.co.kr/web/product/exso/pdf/smdsoldering.pdf 1. 납땜할 자리의 한쪽 끝에 미리 납을 묻혀둔다. 2. 핀셋 등을 이용하여 소자를 자리에 정확하게 맞춘 후 묻혀둔 납을 녹여 고정 시킨다. 3. 고정 후 납을 모든 .. 2023. 8. 14.
더뉴 셀토스 평탄화 제품 후기 / 고탄성 스펀지, 브리즈문 차박 보드 더뉴 셀토스 평탄화 제품 후기 HTML 삽입 미리보기할 수 없는 소스 셀토스는 2열 폴딩했을 때 트렁크랑 단차가 조금 있는 편이다. 그래서 아래 차박용 고탄성 스펀지를 구입하여 먼저 단차를 없애주었다. 구입가격 : 23,470원 구입링크 : http://item.gmarket.co.kr/Item?goodscode=1967756243 G마켓-스포티지QL 차박 평탄화 스펀지 매트 4... 일시품절 item.gmarket.co.kr 구입옵션 : 규격 : 고탄성 스펀지를 판매하는 곳은 많지만 이렇게 차박용으로 파는 제품들은 한쪽 끝이 대각선으로 재단이 되서 아주 자연스럽게 단차를 없앨수 있다. 그리고 스포티지QL용 제품이긴한데 크기가 셀토스에도 잘 맞았다. 이 위에서 바로 자도 될 정도로 적당히 푹신하고 위에 .. 2023. 8. 14.
형상관리 주요 용어 형상항목 (Configuration Item) : 형상관리의 대상이 되는 것으로서 전체 시스템의 구성 요소를 계층적으로 분할한 각 레벨의 항목을 가리킨다. 예를 들면, 하드웨어 경우 시스템-서브시스템-조립체(assembly)-부품 (part) 등이, 소프트웨어 경우, 시스템-서브시스템-프로그램 또는 문서 등을 가리킨다. 기준선 또는 기준문서 (Baseline) : 대상 시스템에 대한 기술적인 통제를 하게 되는 시점 (milestone) 또는 그 시점의 기준문서를 가리킨다. 기준선에서는 다음 단계를 진행할 것인지의 여부에 대한 의사결정 ('go/no-go decision making)을 하게 되며, 다음 단계를 진행하기로 결정한 경우 그 시점까지의 산출물은 다음 단계에 대한 기준선이 된다. 기준선에 대한 .. 2023. 8. 14.
차박시 방전방지, 트렁크에 카라비너 꽂는법 / 빼는법 / 빼고 트렁크 닫는법 HTML 삽입 미리보기할 수 없는 소스 트렁크 하단에 이렇게 생긴 고리가 있는데 이게 테일게이트의 잠금장치와 체결되면서 문이 닫혔다고 인식하는 원리이다. 따라서 테일게이트 잠금장치 부분에 아래 사진과 같이 카라비너를 꽂아주면 된다. 꽂았을 때 트렁크 안쪽 등이 꺼지는 것을 확인하면 방전방지가 잘 된 것이다. HTML 삽입 미리보기할 수 없는 소스 카라비너를 빼고 테일게이트 안쪽 닫힘 버튼을 누르더라도 트렁크는 이미 닫힌상태로 인식하고 있기 때문에 아무일도 일어나지 않는다. 그러니 테일게이트 바깥쪽 열림 버튼을 눌러야하는 데 그건 또 너무 높이 있어서 힘들다. 따라서 차키의 트렁크 열림 버튼이나 운전석의 버튼을 눌러주면 테일게이트의 잠금장치가 열리면서 카라비너가 자동으로 떨어져나온다. 그 뒤에 다시 테일게.. 2023. 8. 14.
신일 아웃도어팬 후기 / SIF-G2800 완충시간 및 지속시간 신일 아웃도어팬 SIF-G2800 구입 후기 HTML 삽입 미리보기할 수 없는 소스 이마트 일렉트로마트에서 카드할인받고 39900원에 구입하였다. HTML 삽입 미리보기할 수 없는 소스 맨위에 풍속조절버튼 그 아래 타이머 설정 버튼 그 아래 회전각도 설정 버튼이 있고 맨 아래에는 배터리 잔량표시 인디케이터가 있다. 선풍기에 손잡이가 달려있어서 텐트 천장에 걸어둘 수 있다. 걸어뒀을 때는 회전기능은 안외고, 탈부착 가능한 삼각대를 연결하고 거치해뒀을 때 회전기능이 작동한다. HTML 삽입 미리보기할 수 없는 소스 7800mAh 배터리를 내장하고 있다. 무게는 765g으로 가볍다. 컴팩트한 측면에선 다른 접이식 선풍기보다 아쉽다. HTML 삽입 미리보기할 수 없는 소스 파우치, 설명서, 삼각대, 본체, 카라.. 2023. 8. 14.
Cold Reset과 Warm Reset Cold Reset콜드 리셋은 시스템의 전원을 완전히 껐다가 다시 켜는 방식으로 수행되는 리셋 방법이다. 이를 통해 시스템을 초기 상태로 되돌릴 수 있으며, 하드웨어 관련 문제 해결에 유용하게 사용될 수 있다. 하지만, 콜드 리셋을 수행할 때는 주의가 필요하다. 데이터 손실이 발생할 수 있으며, 시스템 안정성에도 영향을 미칠 수 있기 때문이다.   Warm Reset웜 리셋은 시스템의 전원을 끄지 않고 재시작하는 방식이다. 시스템의 특정 부분만 부분적으로 리셋되며, 일반적으로 부트 루틴을 다시 실행하거나 주변 장치를 초기화하는 용도로 사용된다.웜 리셋은 콜드 리셋보다 빠르게 수행되며, 시스템의 전체 전원을 껐다가 다시 켜는 부담 없이 일부 기능을 초기화하는 데 유용하다.   보통 Cold Reset은 디.. 2023. 8. 14.
강원도 삼척 미인폭포 미인폭포 주차 무료 *이용시간 하절기(3월~10월) 09:00~18:00 동절기(11월~2월) 09:00~17:00 *가는법 내비에서 여래사를 찍고 근처까지 간 주차표시판일 보일거다. 아래 그림에서 형광펜 칠한 곳에 주차해두고 걸어가면 된다. 가는 길은 내리막인데 내려가는 길에 올라오는 사람들 입에서 다시는 오지말자라고 얘기하는걸 두번이나 들었다. 실제로 가서 본 풍경은 매우 신비로우니 한번은 가보길 추천한다. 2023. 8. 14.
강원도 삼척 추암해수욕장 + 근처 무료 차박지 무료 차박지 증산 해수욕장 주차장 바로 옆에 화장실과 발씻는곳 있음 쓰레기 버리는 곳 있음 편의점 가까움 샤워실은 없음 걸어서 추암해수욕장까지 갈 수 있다. 2023. 8. 14.
강원도 동해 도째비골 해랑전망대 + 스카이밸리 해랑전망대 무료입장 운영시간 : ~ 21:00 스카이밸리 가는 방법이 2개 있다. 1. 해랑전망대 위치에서 걸어서 올라간 뒤 엘레베이터 타는 방법 2. 묵호등대에서 걸어가는 법 묵호등대 주차장이 좁기 때문에 성수기에는 해안가 노상주자창이나 주변 공영주차장에 주차한 뒤 1번 방법으로 가는 것이 낫다. 매주 월요일 휴무 * 이용시간 - 하절기(4월~10월) : 10:00 ~ 18:00 - 동절기(11월~3월) : 10:00 ~ 17:00 * 티켓발권 : 시설 이용시간 종료 1시간 전까지 * 체험시설 점검시간 : 12:00 ~ 13:00 2023. 8. 14.
강원도 삼척 환선굴 환선굴 주차는 무료 * 이용시간 동절기(11월~2월) : 09:30~매표마감 16:00 하절기(3월~10월) : 09:00~매표마감 17:00 주차장에 주차하고 매표소까지 10분정도를 걸어야한다. 그리고 환선굴 입구까지 계속 걸어올라가는 방법과, 중간에 모노레일 승강장에서 모노레일 타는 방법이 있다. 다른 블로그 후기에 모노레일 승강장까지 걸어가면 모노레일 타게 된다고 하는데 정말 그렇다. 하지만 모노레일은 앉을 공간도 부족하고 매우 느린데다 대기시간이 1시간이나 되서 여름만 아니라면 등산하는셈 치고 걸어올라가도 될 것 같다. 환선굴 관광에 걸리는 시간은 1-2시간 정도이다. 계단이 많고 미끄러우니 넘어지지 않게 조심해야한다. 2023. 8. 14.
경기도 광주 경안천습지생태공원 평소에 이용 제한시간이있고, 호우경보가 있는 경우 출입이 제한된다. 나무데크길이 잘되어있어서 산책하기 좋다. 2023. 7. 31.
구글 애드센스 첫 수익 정산 후기 작년 4월 블로그를 처음 개설한 이후 14개월만에 누적 수익이 100불을 돌파해서 이번에 정산을 받았다. 구글 애드센스 정산일은 매월 21일인데, 수익이 기준액(디폴트 100달러) 이상이 되면 지급수단으로 등록된 계좌로 수익금을 송금해준다. 나의 경우엔 수익금이 US$105.22 이었고, 지급수단으로 원화통장을 등록해둬서 수수료 공제하고 117,770원이 오늘 아침에 입금되었다. 2023. 7. 24.
Types of IC Packages IC 패키지 종류 https://electrical-information.com/package-types/ Types of IC Packages There are way too many different types of semiconductor (IC or transistor) packages. For example, SO electrical-information.com 2023. 7. 24.
W25Q64JV, SPI Interface NOR 플래시 메모리 데이터시트 분석 TMS320F28388D DSP 사용 기준으로 작성되었다. W25Q64JV 스펙 64Mbit(=8MB) 용량을 가진 Winbond사의 Serial Flash Memory이다. Pin Configuration 다음과 같이 핀을 연결한다. 데이터시트를 보면 모든 instruction 직전에 /CS핀의 falling edge가 필요하므로 /CS핀을 GND에 묶어두거나 하는 건 안된다. MCU SPI MOSI → Flash DI MCU SPI MISO ← Flash DO MCU SPI CLK → Flash CLK MCU CS용 GPIO → Flash /CS 작동전압은 2.7V to 3.6V이다. SPI Baud Rate TMS320F2838x 매뉴얼을 확인하면 설정 가능한 최대 SPI Baud Rate는 LSP.. 2023. 7. 24.
STM32 ] TouchGFX, 하드웨어와 상호작용하기 1. TouchGFX Designer에서 사용보드를 선택하고 New Project를 생성한다. 2. Designer 툴에서 GUI를 만들고 Generate Code를 한다. 3. 프로젝트 경로에 들어가면 .ioc 파일과 STM32CubeIDE 프로젝트 파일이 있다. 4. STM32CubeMX로 .ioc 파일을 편집하고 STM32CubeIDE로 .cproject를 열어 편집할 수 있다. 5. 하드웨어 상호작용 코드 작성 아래 경로에서 main.c와 gui관련 .cpp 파일을 수정할 수 있다. TouchGFX는 OS없이도 실행할 수는 있지만 그렇게 하면 다른 Task와 TouchGFX 함께 실행하기 어렵기 때문에 FreeRTOS 환경에서 테스트하며 개발되었고 자동생성 코드도 FreeRTOS와 같이 제공된다... 2023. 7. 18.
extern "C" {} extern "C" {} 는 .cpp 소스파일에서 C 스타일로 작성된 함수나 변수를 사용하기 위한 C++의 키워드로, extern "C" {} 문구를 사용하면 해당 블록 내에 있는 함수나 변수를 C 스타일로 링크하도록 지시할 수 있다. C++ 컴파일러는 C++ 언어의 특징을 따르는데, C++은 함수 오버로딩, 이름 맹글링(name mangling) 등의 기능을 지원하기 때문에 C 와는 다른 링킹 규칙을 가지고 있다. 따라서 extern "C" 키워드를 사용하면 C++ 코드에서 해당 블록 내에 선언된 C 함수나 C 변수를 호출 또는 참조할 때 C 스타일의 링킹 규칙을 따르도록 한다. extern "C" { // C 함수 extern void myCFunction(int arg); } extern "C" {.. 2023. 7. 18.
STM32 ] TouchGFX 설치하고 여러 Widget과 Interaction 사용 해보기 TouchGFX 설치하고 사용해보기 HTML 삽입 미리보기할 수 없는 소스 1. 공식 웹사이트에서 TOUCHGFX를 다운받아 설치한다. https://www.st.com/en/embedded-software/x-cube-touchgfx.html X-CUBE-TOUCHGFX - STMicroelectronics X-CUBE-TOUCHGFX - TouchGFX advanced and free of charge graphical framework optimized for STM32 microcontrollers, X-CUBE-TOUCHGFX, STMicroelectronics www.st.com 압축 해제 후 아래 경로에 .msi 설치파일이 있다. Utilities\PC_Software\TouchGFXDesi.. 2023. 7. 17.
RALT (Radar Altimeter) Radar Altimeter? 레이더 고도계(Radar Altimeter, 줄여서 Rad Alt 또는 RALT)는 낮은 출력의 하향 탐색 레이더 시스템으로, 항공기가 지형이나 장애물 위에서 얼마나 높은 고도에 있는지를 측정하는 장치이다.     Reference : https://avsi.aero/ 2023. 7. 17.
ECM, Chaff and flare Electronic Counter measures, ECM은 적의 레이더 시스템이나 유도 무기를 혼란시키거나 분산시키는 데 사용되는 방어 또는 공격 기술이다. 채프 chaff : 금속 혹은 플라스틱로 만들어진 작은 조각들로 구성된 소형 반사체로 레이더 신호를 산란시켜서 주의를 분산시키는 역할을 한다. 레이더 신호가 chaff 조각들에 닿으면 신호가 퍼져서 정확한 위치를 파악하기 어렵게 한다. 플레어 flare : 열 표적 생성기. 미사일과 같은 열 추적 무기의 탐지를 어렵게 만드는 역할을 한다. 항공기에서 발사된 flare는 뜨거운 열을 방출하여 미사일은 항공기 대신 flare을 추적하게 되며, 항공기의 위협을 분산시킨다. 2023. 7. 17.
SMPS (Switched Mode Power Supply) SMPS란 SMPS는 전력원으로부터 교류 전원을 받아서 직류 전원으로 변환한 뒤 다른 전자기기로 직류 전원을 공급하는 전원 공급 장치를 말한다. SMPS의 원리 일반적으로 배터리 및 상용 AC 전원으로부터 안정적 전원을 변환하여 공급하는 방식에는 크게 선형 제어(series regulator) 방식과 스위치 모드(switched mode) 방식이 있는데 SMPS는 이름에서 볼 수 있듯이 스위칭 트랜지스터 등을 이용하는 스위치 제어 방식을 사용한다. SMPS는 반도체 스위치 소자의 온오프(on-off) 시간 비율을 제어하여 출력을 안정화시킨다. 먼저 공급받는 전류나 전압을 스위치 소자를 이용해여 일정하게 쪼개는데 이렇게 쪼갠 전압원을 스위칭 주파수라고 하며, ON 시간이 길면 출력되는 DC 전압이 높아지고.. 2023. 7. 17.
경기도 가평 다둥이네 캠핑장 입실 13시퇴실 11시전일팀 없으면 9시에 입실가능.밤나무존과 차양막존이 있는데 밤나무존이 나무 그늘이라 훨씬 시원한 대신 텐트앞 주차가 안된다.계곡물은 얕은편이다. 하류로가면 깊어지는 구간이 있지만 유속이 꽤 빨라서 수영은 힘들다.입구쪽에 축사가 있고 사이트까지 냄새가 넘어오진 않는다.                오는길에 들른 북한강 브리끄 카페 2023. 7. 17.
강원도 양양 오색 장군바위 캠핑장 가는길에 들른 천진해수욕장바다는 얕고 잔잔했다.화장실은 있지만 샤워실은 닫혀있고 발씻는곳이 안보였다.          입실 13시퇴실 11시화장실, 샤워실 깔끔함계곡뷰, 독립사이트가 많아 좋음배전함 가까움와이파이 가능 2023. 7. 12.
MIL, SIL, PIL and HIL 요약 "M", "S", "P", "H"는 모두 컨트롤러의 상태를 의미하며, 컨트롤러의 실제 하드웨어 구현 정도를 나타낸다.MIL (Model In Loop): 컨트롤러를 모델로 시뮬레이션SIL (Software In Loop): 모델을 변환한 C 코드 기반의 시뮬레이션PIL (Processor In Loop): 실제 컨트롤러 프로세서에서 코드 실행 (I/O 연결 없음)HIL (Hardware In Loop): 실제 컨트롤러 하드웨어와 I/O를 포함한 테스트      용어 이 개념들은 일반적으로 제어 시스템 개발에서 사용되며, 이는 기계/전자 시스템과 상호 작용하는 제어 소프트웨어를 개발하는 과정에서 활용된다.Control system(제어 시스템): '컨트롤러(controller)'로 지칭됨Mechatr.. 2023. 7. 11.
VSCode ] 새로고침 reload window VSCode Window를 새로고침하는 법 Ctrl + Shift + P 로 Command Palette를 열고 reload window 타이핑하고 선택 참고. Command Palette 는 View에서 열 수도 있고 F1을 눌러 열 수도 있다. 새로고침 단축기 설정하는 법 Open Keyboard Shortcuts (JSON) 선택 원하는 bindingKey와 함께 아래와 같이 입력 [ { "key": "ctrl+f5", "command": "workbench.action.reloadWindow", "when": "editorTextFocus" } ] 혹은 작업영역에서 폴더 삭제 후 재오픈 2023. 7. 11.
반응형