해보기는 했어?

오늘 안됐다고 포기하지 말고 용기내서 내일 다시 해 보자.

반응형

임베디드 33

warning: (356) implicit conversion of float to integer

컴파일을 하다 보면warning: (356) implicit conversion of float to integerwarning: (373) implicit signed to unsigned conversion등과 같은 Warning이 발생하는 경우가 있다. 요즘 PIC를 이용해서 프로젝트를 진행 중인데 이런 것이 발생해서 어떻게 수정하나 고민하고 있었다.결론은 Type이 틀린 데이터를 저장하려는데에서 오는 경고인 것으로 보인다.integer에다가 float를 저장하거나, usigned에다가 signed를 저장하고자 할 때 나오는 경고이다.무시하고 할 수는 있으나 컴파일 결과가 지저분해 보여서 처리를 해 주려고 한다.그냥 간단하게 캐스트를 해 주면 사라진다. Mask = ((0xFF > ((8 - Bit..

임베디드 2025.04.19

Mini MP3 Module

개요MP3, WAV 파일을 Play 할 수 있는 YX5200(or 동등한 IC) IC Module을 제어해 본다. 아두이노, 마이크로프로세서 등에서 간단하가 Sound를 플레이할 수 있다. 두 제품에 적용해 봤는데 적정 성능을 보여주고 있다.부저만 사용하던 제품에 MP3나 WAV와 같은 미디어 파일을 적용할 수 있게 되어 MCU보드의 부담과 개발에 따른 부담을 덜어줄 수 있다. Ⅰ. Keyes Player Mini Module 사용할 Sound Play Module은 Devicemart에서 구매한 Keyes Player Mini Module이다. 모듈 단가는 약 5,000원+ 정도 하고, IC는 약 2,000원+ 정도 한다. 대표사진 삭제사진 설명을 입력하세요.매뉴얼 상의 예제로는 아두이노를 이용한 동..

임베디드 2025.04.10

구형 XC32 compiler 다운로드

최근에 프로젝트를 하나 더 시작하면서 Microchip의 X IDE를 사용하게 되었다.전달받은 프로젝트를 컴파일 해야하는데 최신 버전에서는 에러가 났고, 이게 뭔지...뭔 소린지..잘 몰라서한국 마이크로칩 대리점에 연락해서 기술지원팀으로 부터 지원을 받았다.오래전에 시작된 프로젝트라고 말씀드리고, 프로젝트를 보내드려서 현재 X IDE 버전과 XC32 의 어떤 구 버전에서컴파일 되는지를 확인 해 주셨다. 귀찮으셨을텐데...ㅋ 마이크로칩 홈페이지에 가서Tools-Archives-MPLAB Ecosystem Downloads Archive에서 이전 버전의 XC32 컴파일러를 다운받아서 인스톨했다. 문제가 좀 많았지만 warning 및 기타 오류들이 나오는 것을 수정해 주니까 Build Successful이 되..

임베디드 2024.10.30

STM32 fputc를 이용한 printf 사용시 BKPT 0xAB 에서 멈춤

간만에 STM32를 이용해서 프로젝트 진행 중인데...설정 부분이 많이 헷갈린다.디버그 포트 설정에서 한 참 고전을 면치 못했고, 이제는 printf에서 문제가 발생했다.예전에는 int fputc(int ch, FILE *f) { uint8_t temp[1] = {ch}; HAL_UART_Transmit(&huart1, temp, 1, 2); return ch; }를 main 위에 넣어주고 사용해서 잘 됐는데 오늘 다시 하니까 PC 0x0800041C에서 BKPT 0xAB 라는 문구에서 브레이크가 걸린다.아래에서 printf를 삭제해주면 사라진다.이게 뭐지??어떻게 해결해 줘야하나??? Keil의 Manage Run-Time Environment에서Compiler->I/O->STDIN, STDOUT을 I..

임베디드 2024.09.11

STM32 fputc를 이용한 printf 사용시 BKPT 0xAB 에서 멈춤

간만에 STM32를 이용해서 프로젝트 진행 중인데...설정 부분이 많이 헷갈린다.디버그 포트 설정에서 한 참 고전을 면치 못했고, 이제는 printf에서 문제가 발생했다.예전에는 int fputc(int ch, FILE *f) { uint8_t temp[1] = {ch}; HAL_UART_Transmit(&huart1, temp, 1, 2); return ch; }를 main 위에 넣어주고 사용해서 잘 됐는데 오늘 다시 하니까 PC 0x0800041C에서 BKPT 0xAB 라는 문구에서 브레이크가 걸린다.아래에서 printf를 삭제해주면 사라진다.이게 뭐지??어떻게 해결해 줘야하나??? Keil의 Manage Run-Time Environment에서Compiler->I/O->STDIN, STDOUT을 I..

임베디드 2024.09.09

Debug : Serial Wire

STM32CubeMx를 이용해서 칩을 설정할 때 Pinout & Configuration항목의 SYS에 보면 SYS Mode and Configuration이 있다.여기를 처음에는 신경쓰지 않고 지나갔었는데 Default로 No Debug로 되어 있었나보다. 다운로드/디버깅 모두 안돼서 한 참 고민했다.STM32 ST-LINK Utility를 이용해서 Chip을 Erase 시켜주고, 위의 SYS의 Debug를 Serial Wire로 설정해 주니까 잘 된다. 처음에 잘못 설정하고 헤메이던 것이 패착이였다.

임베디드 2024.09.09

RS232C Hooking

예전에 어디에다가 적어 뒀었는데.어디다 적어 뒀는지 잊어 버렸다. 컴파일 HMI와 슬레이브 4개를 Serial to Ethernet Converter를 이용해서 연결한 뒤 통신 테스트 중 이다.중간 중간 통신이 끊겨서 어떤 명령어를 전송하고 응답받을 때 끊기는지 확인하려고 했더니 이 방법이 필요했다.일단 슬레이브 쪽에 연결된 RS232C 3핀에서 Tx, Rx 핀에 M7 다이오드의 Anode를 연결한다.그리고, 다이오드의 Cathode를 서로 묶고 이곳에다가 RS232 컨버터의 Rx를 연결한다.물론 RS232 컨버터의 GND와 장비의 GND를 연결시켜 기본 전압 베이스를 맞춰준다.노트북에서 시리얼 프로그램을 이용해서 수신해 보면 Tx, Rx 라인에 전달 되는 데이터가 모두 보인다. 잊어버리지 않기.

임베디드 2024.09.02

Source Insight, Tab 공간을 Backspace

처음 임베디드를 공부할 때 Editor에 대하 고민을 많이 했었다.메모장을 사용하다가, UltraEdit를 만났을 때에는 경이로웠다.경로 저장만 해 두면 내가 코딩하는 파일을 UltraEdit에서 바로 컴파일이 가능했다. 그 때는 도스형 컴파일러라 도스창 띄워두고 해당 경로에서 명령어를 입력해야했다.그러니 에디터에서 바로 컴파일 되는 것이 매우 편했다. 그 뒤에 다른 몇 가지를 사용하다가 Source Insight를 만났는데 그 것은 더 편하다.지금도 사용 중이고, 라이센스를 구매해서 사용 중인데 돈이 아깝지 않은 프로그램이다.매우 저렴해서 그리 부담되지 않는다. 최근에 탭을 이용해서 띄워쓰기를 하고 난 뒤에 BackSpace를 이용해서 공간을 뒤로 가려고하니스페이스바로 띄워쓰기했을 때의 공간을 지우듯..

임베디드 2024.05.16
반응형