UART Debug 부분
235
작성한 질문수 9
일단 CubeIDE 가 아닌 Atolic TrueStudio 환경에서 프로그램을 하고 있는데,
stm32f4xx_it.c 에서 선언한 전역 변수
uart6_rx_flag = 0;
uart6_rx_data = 0;
을 main.c 에 extern 선언 해주는 것 까지 잘 따라했는데
무슨 일인지 USART Receive를 하면서 flag가 바뀌면
main의 while문에서
바뀐 flag를 처리를 못합니다.
그래서 플래그를 안쓰고 IRQ Handler에서 받은 데이터를 Direct하게 송신하게 했더니 또 잘되긴 합니다.
애초에 truestudio에서 extern 문법을 제대로 처리를 하지 못하는 건가요?
답변 3
1
안녕하세요
1. 변수 선언하실때 앞에 volatile 키워드를 붙여서 다시 해보시기 바랍니다.
2. 아마 TrueSTUDIO의 코드 최적화 레벨이 -O0 (None) 이 아닐겁니다. 프로젝트 옵션에서 Optimization 레벨을 위와같이 설정해주셔도 해결 될 겁니다.
후자의 방법을 추천드립니다.
문제가 해결되는지 한번 확인해보세요!
비행승인 문의드립니다
0
38
0
드론의 M4 모터가 느리게 작동합니다.
0
63
2
STM32CubeIDE 관련해서 질문이 있습니다.
0
92
2
while문 루프 속도
0
60
2
변수 선언
0
51
2
FS-i6를 꺼도 LED 토글되는 이유
0
67
2
Fs-i6 i-bus 수신 데이터 이상
0
109
3
3-4. UBX 위도 경도 정보 Terminal에서 깨짐 현상
0
88
2
3-4. LED 토글 안됨
0
50
1
3-1. M8N GPS 강의 통신 연결 관련 문의
0
78
1
2-3. LPS22HH 강의 수행값이 아두이노 IDE Plotter 및 Terminal에서 인식 안됨
0
77
2
6-4 SwC 2000
0
105
2
6-4 ESC Calibration
0
69
1
esc, 모터 교체
0
111
2
부저 소리가 안납니다.
0
134
2
비행 질문
0
63
1
7-5. offset
0
75
2
sysmem.c
0
75
2
전체 제어의 주기를 1KHz로 설정한 이유가 궁금합니다.
0
89
2
부품 구매 관련 문의
0
66
1
PID 게인 문제
0
84
3
3d telemetry cp210x 연결
0
122
2
8-1. 3DR Telemetry HAL_UART_Receive_IT(&huart1, &uart1_rx_data, 1); 관련 문의
0
72
2
PID제어 질문
0
124
2





