묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
부품 구입 문의입니다.
섹션 28의 2번째 강의에서 GPIO역할을 하는 부품이 없습니다. 따로 구입하고 싶은데 부품명을 알 수 있을까요?감사합니다.
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
섹션 5의 GPIO 간단 제어해보기.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.D2 LED를 켜고 끄는 코드를 작성했는데 전혀 깜빡이지가 않습니다.강의 내용에서 말씀하신 UserLabel을 GPIO_LED로 설정했는데, 헤더파일이 프로젝트에 들어가지 않아서 깜빡이지 않는걸까요? 헤더파일에 내가 라벨붙인걸 확인할 수 있다고 하셨는데 헤더파일이 어디에 있는지도 잘 모르겠습니다..
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
ST LINK 연결
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 다른 질문글에서 답변주신대로 다른 유틸리티 이용해서 펌웨어 업데이트와 USB로 보드에도 충전하고 장치관리자에서 ST LINK 연결된 것도 다 확인했는데 아래와 같이 떠서요..! 보드와 ST LINK연결도 다른 질문글에서 본 사진 그대로 잘 끼웠는데도 그러네요.. STM IDE버전을 최신버전으로 했을 땐 다른 오류가 나서 16버전으로 설치했어요 그리고 ST LINK내에서 펌웨어 업데이트 하라해서 하면 맨 아래사진과요
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
프로젝트 생성시 오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 아래 사진과 같이 오류가 나서 회원가입하고 이 오류가 떴을때 로그인을 하면,이젠 아래와 같은 오류가 떠서요 ! 펌웨어 업데이트도 하고 아래와 같이 check connection이라는 옵션도 설정해서 다시 프로그램을 껐다가 켜봐도 계속 안되어서 여쭤봅니다..! 다른 프로젝트 생성하면 또 위의 사진처럼 다시 오류가 떠요
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
ST-Link 연결
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 수강생인데 처음에 따라하다가 다시 처음부터 해보려고 하는데 st-Link update 진행 시 Error 발생이 지속적으로 됩니다. 연결이 계속 되었던 상태인데 왜그럴까요? 끄고 디버그 진행 시 Host 응답이 안되어서 디버그도 Error 발생 합니다. 해결방법좀 부탁드립니다.
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
ds18b20 의 address 내부 값
안녕하세요 강의를 보고 온도센서를 사용하기 위해라이브러리 포팅 후 해당 코드를 작성하였습니다. 그런데 구조체 내부의 데이터가 0에서 변화하지 않습니다. 문제를 해결하기 위해 확인해야할게 어떤것이 있을까요?
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
"UART로 printf()를 구현해보자! 4" 강의에서 문제 발생.
강의 - 섹션16 - "UART로 printf()를 구현해보자! 4" 강의를 따라하던 도중 문제가 발생하여 질문을 올려봅니다.이게 사실 지금은 무시해야 할 문제이긴 한데, 해결하는 걸 워낙에 좋아해서... 그래서 신경쓰지 말고 지금은 무시하라고 답해주셔도 됩니다! 혹여 봐주신다면 알고 계신 문제인지, 문제 해결 과정에 오류가 있는지 봐주시면 감사합니다!해결 과정에서 적은 노트는 아래에 적었습니다.Xshell에 "i = 1"이, 코드 업로드 후 최초 1회 더 출력되는 문제가 있다. 원인을 찾아보자.->printf() 함수에 내부적으로 사용되는 _write() 함수가, "syscalls.c" 소스파일에 weak symbol로 정의가 되어 있어서, _write() 함수를 "main.c" 파일에서 retarget하여 printf() 함수를 강의대로 Xshell에 출력하도록 했다.int _write(int file, char *ptr, int len) { HAL_UART_Transmit(&huart1, (const uint8_t*)ptr, len, 10); return len; }결과i = 1 // user가 설정한 딜레이와 관계없이, 다음의 "i = 1"과 대략 1초 정도의 간격 i = 1 // user가 설정한 HAL_Delay(100), 이후로 동일한 100ms 딜레이 i = 2 i = 3 i = 4 ... "main.c" 코드만으로 보았을 때, 분명 'i'는 1이 증가하여 출력되었으므로, 문제는 printf() 함수에 있음이 분명하다.->write() 함수를 통해 원인을 찾고자, write() 함수가 최초 1회는 무시하도록 코드를 다음과 같이 수정한다.bool ignoreFirstWrite = true; int _write(int file, char *ptr, int len) { if (ignoreFirstWrite) { ignoreFirstWrite = false; } else { HAL_UART_Transmit(&huart1, (const uint8_t*)ptr, len, 10); } return len; }결과i = 1 // user가 설정한 HAL_Delay(100), 이후로 동일한 100ms 딜레이 i = 2 i = 3 i = 4 ...!!! _write() 함수가 최초 1회 더 실행되는 것을 확인했다.int _write(int file, char *ptr, int len) { HAL_UART_Transmit(&huart1, (const uint8_t*)ptr, len, 10); return len; }위의 _write() 함수로 하여 두 가지의 테스트를 추가로 진행해본다.->1.'i' 초기값만 바꿔서 코드를 업로드한다.2.코드 업로드가 아니라, debug로 실행해본다. (최초 HAL_Init() 함수에서 걸리고, 곧바로 breakpoint 없이 resume한다.)->!!! 최초 1회 출력 문제가 사라졌다. 1.'i' 초기값을 변경하여 업로드한다.int i = 10;결과i = 1 i = 11 i = 12 i = 13 i = 14 ...다시 'i' 초기값을 변경하여 업로드한다.int i = 0;결과i = 11 i = 1 i = 2 i = 3 i = 4 ...!!! 이전에 업로드할 때 _write() 함수로 처음 출력한 문자열이, 다음 업로드 때 출력된다.정리1._write() 함수가 최초 1회 더 실행된다.2.디버그 환경에서는 문제가 발생하지 않는다.->전혀 모르겠다.->[수정]: float로 테스트 후부터는, 디버그 환경에서도 정수/실수 모두 동일하게 문제가 발생한다.3.이전에 업로드할 때 _write() 함수로 처음 출력한 문자열이, 다음 업로드 때 출력된다.->마지막에 출력한, 혹은 출력 대기중인 문자열도 아니고, 왜 이전 업로드 때 처음 출력한 문자열일까?->원인이 어디인지 찾아보자.board, FT232, Xshell 혹은 그 사이 어디서 문제인지 찾으려 했으나, 애초에 _write() 함수가 1회 더 실행되는 것이 확실하니,->?????"stdio.h" 구조로 접근해야 하나?아니, 코드는 새롭게 업로드하는 거고,이전의 정보가 'board'에 남아있다는 건데,printf() 함수가, 이전 업로드할 때 최초로 출력했던 문자열을 어떻게 가지고 있을 수 있지?아니면 PA9 USART1 transmitter에 buffer가?어떻게 접근해야 하지?->전혀 모르겠다. 포기. 끝. 무시하고 강의 진행하자.
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
FND 제어 시 2자리수 제어가 잘 안됩니다.
강의 대로 위와 같이 코드를 작성하였습니다.LOW -> HIGH에서 HIGH->LOW로 바꾸고 output level도 바꿔가면서 해봤습니다.디버깅 시 강의에서는 1부터 빠르게 숫자가 바뀌는데제 코드로 디버깅해보니 위사진과 같은 상태로 멈춰있고 숫자가 바뀌지 않습니다. 혹시 몰라서 뒤의 내용인 4자리수 제어를 진행해봤는데 4자리수는 정상적으로 올라갑니다.두자리수만 잘 안되는건 뭐가 문제인지 궁금합니다.
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
OneWire_WriteBit와 OneWire_ReadBit함수에 대해 궁금한 점이 있습니다.
if (bit){/* Set line low */ONEWIRE_LOW(OneWireStruct);ONEWIRE_OUTPUT(OneWireStruct);ONEWIRE_DELAY(10); /* Bit high */ONEWIRE_INPUT(OneWireStruct); /* Wait for 55 us and release the line */ONEWIRE_DELAY(55);ONEWIRE_INPUT(OneWireStruct);} 위는 OneWire_WriteBit의 한 부분으로 이 부분에서 LOW로 만들어서 output모드로 만든 다음에 10us만큼 딜레이를 줘서 input 모드로 만들어서 버스를 high로 만드는 것이라고 이해했습니다. 그런데 이 이후에 딜레이를 55us 만큼 준 다음에 다시 input 모드로 만드는 이유는 무엇인가요?inline uint8_t OneWire_ReadBit(OneWire_t* OneWireStruct){uint8_t bit = 0; /* Line low */ONEWIRE_LOW(OneWireStruct);ONEWIRE_OUTPUT(OneWireStruct);ONEWIRE_DELAY(2); /* Release line */ONEWIRE_INPUT(OneWireStruct);ONEWIRE_DELAY(10); /* Read line value */if (HAL_GPIO_ReadPin(OneWireStruct->GPIOx, OneWireStruct->GPIO_Pin)) {/* Bit is HIGH */bit = 1;} /* Wait 50us to complete 60us period */ONEWIRE_DELAY(50); /* Return bit value */return bit;}그리고 OneWire_ReadBit에서 input모드로 바꾸는 것이 버스를 high로 만든다는 것을 주석으로 짐작한거라서 정확히 바꾼 이유를 잘 모르겠습니다. input모드가 디폴트 모드인건가요?
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
UART 통신 실습 중 궁금한 점이 있습니다.
Pinout & Configuration 을 통해 핀설정을 하고 실습을 진행하고 있습니다.USART 2 또는 USART 3로 설정했을 때는, 정상적으로 터미널을 통해 결과가 넘어오는 것을 확인했습니다.하지만, USART 1으로 설정하고 통신할 경우 터미널에서 데이터가 넘어오지 않습니다. USART 2와 USART 3 APB1 클럭을 사용하고,USART 1 은 APB2 클럭을 사용하기 때문에 클럭 또한 맞춰 주었습니다.핀 위치도 몇번이나 확인했지만, 원인을 모르겠어요...제대로 된 신호가 넘어가는지는 확인하지 못했습니다 ㅜ(오실로스코프가 배달중입니다 ㅎ..) 현 이슈 원인에 대한 선생님의 직관이나 조언을 얻을 수 있을까요? === 2024-12-22 추가 작성 ====remap 기능을 사용하여 PinA9 대신 PinB6을 사용하니 정상적으로 데이터가 전송되는 것을 터미널에서 확인했습니다. 혹시나 해서 확인해봤는데, PinA9가 죽어있었네요.다른 모든 핀도 살펴봤는데 PinB14도 죽어있었구요. (GPIO로 LED 키는 방식으로 테스트 했습니다.) SW를 작성하기 전에, 하드웨어 동작 여부부터 확인해야 한다는 교훈을 얻어갑니다... 죽은 핀을 다시 살릴 수 있는 방법이 있나요?
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
FND 제어
안녕하세요 FND 제어 코드를 작성해 LED가 켜지는지 확인중에 있습니다. 다른 문의 글을 보니 74HC595D 칩으로 이루어진 모듈을 사용하면 SCLK을 기본 low로 설정해야한다는 것을 확인했습니다.해당 내용을 통해서 SCLK과 RCLK을 모두 low로 설정하고 아래와 같이 코드를 구성하였는데도 동작하지 않아 문의드립니다. 제 코드가 잘못되었거나 추가 조치방법이 있나요?
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
안녕하세요. 제 노트북이 st-link 드라이버를 인식을 못하는것 같습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.제 노트북이 lenovo e15 인데 usb 허브를 연결한다음 st link와 보드를 usb 허브에 연결하면장치관리자에서 인식을 못합니다 ㅠ 자꾸 장치연결 실패라고 하네요. 드라이버까지 설치햇는데 왜그런지 잘모르겟습니다.이상하게 제 pc에서는 잘됩니다... ㅠ 혹시 원격으로도 도움을 받을수있을까요?
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
강의 자료 위치 부탁드립니다.
QR로 받는 방법도 있지만, 유료 수강하신 분들은 제가 강의 자료에 올려 놨어요.섹션 3에 전류가 무엇인가요에 자료가 있습니다. => 여기를 못찾겠습니다.
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
강의 자료 부탁드립니다. PPT 자료가 아닌 텍스트이라도 가능할까요?
설명해주실때 보이는 PPT 자료를 받아볼 수 있을까요?따로 제작해주시지 마시고, 그냥 그 상태도 괜찮습니다.아님 그냥 텍스트 만이라도 괜찮습니다.적으며 진행하려고 하니, 시간도 더 걸리고 해서요.적지 않은 금액의 유료 강의이고,요즘은 간단하게라도 강의내용을 알려주시는 곳도 많아서,부탁드려봅니다.
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
FND 관련 문제가 생겼는데 어떤 문제인지 알 수 있을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 문제상황 : VCC와 GND만 연결한 경우에도 FND의 빛이 출력되지 않습니다.(단자 연결/해제를 반복하다보면 출력되는 경우도 있는데 비정상적인 출력만 나옵니다)(사진첨부드립니다.) STM32F103의 3.3V핀과 FND의 VCC 연결,STM32F103의 GND핀과 FND의 GND 연결멀티미터기를 이용해 FND의 VCC와 GND를 찍고 4.3V 직류가 흐르는것을 확인했습니다 저 상태에서 PB13~15 핀을 GPIO 세팅하고 FND의 SCLK,RCLK,DIO도 추가로 연결한 후에19강 강의 내용대로 소스코드를 작성하고 디버깅을 해보았으나 LED에 출력되는 빛은 없었습니다.
-
미해결[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
엣지와 static에 대해서 질문드리고 싶습니다.
spi 통신에서 선생님처럼 1엣지로 설정하고 진행하였을 때 작동이 되지 않았습니다. 그래서 2엣지로 바꿔서 작동하는데 성공시켰습니다. 이런 경우는 어떤 문제가 있었던 걸까요? 그리고 hspi2의 주소를 넘길 때 static SPI_HandleTypeDef *mhspi;를 사용하셨는데 static을 제거해도 작동이 되었습니다. static의 목적에 대해서 알고 싶습니다.
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
멀티미터기 측정시 ST-LINK USB 연결이 끊어집니다
섹션 13의 멀티미터기 사용방법2 강의에서 GND와 PA3를 측정하는데, 측정할 때마다 usb연결이 끊어져서 한번 측정하고 꺼지면 다시 연결해야되는 상황입니다.GND와 3V측정할 때 값도 잘 나왔고 쇼트테스트도 잘되는데 디버깅 상황에서 직류 측정할 때만 usb가 끊어졌다가 적색 흑색 테스트리드를 떼면 다시 usb가 연결됩니다.혹시 원래 그런건지 아니면 무슨 문제가 있는건지 궁금합니다.
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
핸들러가 무슨의미인지 잘모르겠어요
공부를 하던중에 핸들러라는것이 많이 보이는데 정확이 무슨역할인지 잘 모르겠고 왜 정해주는지 모르겠습니다
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
섹션5 프로젝트 생성해보기 디버깅 문제
안녕하세요. 임베디드 강의를 입문하면서 수강하기 시작한 학생입니다. 다름이 아니라 아래 문의와 비슷한 경우인 것 같은데 해결이 되지 않아 질문드립니다.https://www.inflearn.com/community/questions/1411541/%EC%84%B9%EC%85%98-5-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1%ED%95%B4%EB%B3%B4%EA%B8%B0-%EC%97%90%EC%84%9C-st-link-upgrade-%EA%B4%80%EB%A0%A8-%EB%AC%B8%EC%9D%98 해당 질문에서 해결법을 알려주신대로 다 해봐도 해결이 되지 않아결국 STM32Cube를 지운 후 1.7.0 버전으로 재설치 했는데도 동일한 문제가 발생해 질문 드립니다. 장치관리자에 STM32 연결도 인식한 상태이고,STM32Cube를 관리자 버전으로도 실행해보고 컴퓨터 재부팅도 시도해보았습니다.관련 프로젝트 경로도 전부 영문으로 이루어져 있습니다. 혹시 해결법을 찾을 수 있을까요?감사합니다. 강의 재밌게 잘 듣고 있습니다.
-
미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
실습용 보드 등 한번에 저렴하게 하는 법 없을 까요?
안녕하세요.아듀이노 같은 완전 처음이라최소 보드, 온습도센서, LED는따로 구매해야 하는 거 같은데요한꺼번에 저렴하게 구매하는 법 없을 까요?