분류 전체보기 (243) 썸네일형 리스트형 26. static 구조체 static 안한 상태의 구조체 -구조체 주소를 찾아가면 0x36f848 을 보면 10 값을 가지고 있다가 함수에 빠져나가면 값이 사라지는 것을 볼 수 있다. 그러나 static 선언을 하면 .... 0xb8a188 주소에서 10(0xa)값을 가지고 있다가 함수를 나와도 값을 그대로 가지고 있는 것을 볼수 잇다. head.h #include typedef struct { int a1; int b1; }test_str1; void sub1(void); void sub2(void); void sub3(void); main.c #include "head.h" void main(void) { sub1(); sub3(); sub2(); } void sub1(void) { static test_str1 test_s.. 25. 구조체_구조체 함수_구조체 포인트 main.c #include "head.h" #include "sub1_head.h" static TS_DrvTypeDef *TsDrv; void main(void) { if (stmpe811_ts_drv.ReadID(0x0811) == 0x0811) { TsDrv = &stmpe811_ts_drv; } TsDrv->Init(0x0811); } sub1.c #include "sub1_head.h" TS_DrvTypeDef stmpe811_ts_drv = { stmpe811_Init, stmpe811_ReadID, }; void stmpe811_Init(int DeviceAddr) { printf("Device_addr=0x%x\r\n", DeviceAddr); } int stmpe811_ReadID(in.. [스플래툰2]Final Fest 7/18 ~7/21 파이널 페스 결과 Final Fest(파이널 페스)가 18-21 까지 진행 되었습니다. 압도적인 결과로 3-0 으로 Chaos 가 승리입니다. 13.[STM32F429] eeprom IAR 경우 tools -> options 가서 Message 에서 ALL을 선택해야 용량이 보입니다. 일단 code 용량 체크부터 해봐야합니다. 이 코드의 용량은 29238+8193 =37431 (0x9237)byte입니다. 그러므로 sector2 까지는 쓰네요 저는 비어있는 sector3 에 eeprom을 써봅시다. 아래에 stm32f427 memory를 보니 0x08009236 까지 쓰는걸 볼수 있습니다. STM32Cube 설정 #ifndef __MAIN_H #define __MAIN_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/.. 명령어 모음 stm32 에서 유용한 명령어 NVIC_SystemReset(); 소프트 리셋 HAL_NVIC_DisableIRQ(HAL_NVIC_DisableIRQ(IRQn_Type IRQn); ex) HAL_NVIC_DisableIRQ(EXTI9_5_IRQn); 인터럽트 OFF HAL_NVIC_EnableIRQ(IRQn_Type IRQn); ex) HAL_NVIC_EnableIRQ(EXTI9_5_IRQn); 인터럽트 ON NVIC_SystemReset(); 소프트 리셋 12.[STM32F429] Usart1 stm32f429 usart1 을 사용해서 printf 로 출력하는 방법 까지 해보겠습니다. PA9 PA10 을 보면 SB11 SB15 를 연결하면 USB 포트를 사용하여 쉽게 USART1을 사용할 수 있다. 보통 초기 상태에서는 연결되어 있으므로 따로 납땜은 안해도 될거 같지만 STM32F429 보드의 아래 면을 확인해주세요. #include "main.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ /* Private typedef -----------------------------------.. 24. static void 함수 1.head_t.h #include void sub1_view(void); void sub1(void); 2.sub.c #include "head_t.h" void sub1_view(void) { sub1(); } static void sub1(void) { printf("View Sub1\r\n"); } 3.main.c void main(void) { sub1_view(); } 함수 앞에 static을 쓰게 되면 함수가 포함된 파일 안에서만 쓸수 있습니다. 그래서 main.c에서 sub1을 불러오면 오류가 생깁니다. 결과화면 23. 포인트 문자열 #include void main(void) { char* str_test1 = "1234"; str_test1 = 0x30; printf("%s\r\n",str_test1); } 이런식으로하면 오류가 나버린다.... 이유는 상수로 선언이 되었기 때문이랍니다.. 그래서 상수로만 접근이 가능합니다. 어쨌든 변수로써 각각 메모리에 접근하려면 배열을 이용해야합니다. void main(void) { char str_test1[] = "1234"; char* str_test1_addr = str_test1; *str_test1_addr = 0x30; printf("%s\r\n",str_test1); } 이전 1 ··· 14 15 16 17 18 19 20 ··· 31 다음