Sublime Text 편집기에서 이전 커서 위치로 이동(Go Back) Sublime Text에서 단축 키에 대한 블로그 등의 자료는 있는데 제가 원하는 Go Back(이전 위치로 이동) 기능을 찿지 못해 구글링을 많이 하였습니다. 단축키는 "alt + -" 이었습니다. 참조사이트는 https://stackoverflow.com/questions/19996878/how-to-jump-to-previous-and-last-cursor-in-sublime-text-3 How to jump to previous and last cursor in Sublime Text 3? How to jump back and forward through the cursor position history in Sublime Text? I google a lot and find BufferScrol..
[C언어]배열(array)의 요소 개수 구하기(sizeof, strlen) 프로그램에서 배열의 초기값이 정의되는 경우 크기를 지정하지 않은 포인터 배열을 선언한 후 그 배열 내에 몇 개의 요소(element)가 들어있는지 계산하는 방법은 sizeof()를 사용할 수 있습니다. sizeof()는 컴파일하는 동안에 계산이 됨으로 프로그램이 돌아가는 동안에는 정확한 값을 가질 수 없습니다. char *mode[]= { "a", "bb", "ccc", "ddd", "eeeee", }; 위처럼 프로그램에서 배열 초기화 값이 들어가 있는 경우입니다. #define ARRAY_SIZE(x) (int)(sizeof(x)/sizeof(x[0])) printf("mode[0] 크기 %ld\n", sizeof(mode[0])); printf("mode 크기 %ld\n", sizeof(mode));..
썸네일 [TouchGFX]화면의 SlideBar 변경 값을 응용 프로그램에 전달 방법 TouchGFX로 화면을 설계한 후에 SlideBar를 변경하여 변경된 값을 응용 프로그램에 전달하는 방법입니다. FreeRTOS를 사용하였습니다. 해당하는 ScreenView.cpp에서 Slider에 관련된 프로그램을 작성하여 줍니다. 해당 화면의 Presenter.cpp에 model에 전달할 함수를 작성하여 줍니다. ScreenView.cpp의 맨 하단에 함수를 사용하고 있습니다. 이 함수들은 해당 화면의 Presenter.hpp와 해당화면의 View.hpp에 선언이 되어 있어야 합니다 Model.hpp에 함수를 선언하여 줍니다. Model.cpp에서 메시지큐를 사용하여 데이터를 응용프로그램에 전달합니다.
썸네일 [TouchGFX]A Screen을 복사하여 B Screen만들기 TouchGFX를 사용하여 화면을 구성하다 보면 비슷한 화면을 만들 경우가 발생합니다. 이때마다 매번 화면을 디자인하고 화면에 맞는 내용을 채워 넣는 것이 귀찮을 것입니다. 이럴 때는 Screen을 복사하여 사용하시면 됩니다. 원본인 Screen을 선택한 후에 보이는 화면 전체를 마우스로 선택합니다. 그리고 Ctrl+C로 복사합니다. 화면 위의 Screens에 있는 원형의 +를 선택하여 새로운 화면을 생성합니다 Screen1에 화면이 복사돈 것을 볼 수 있습니다. 이제는 Screen 이름과 내부 Widget의 내용을 수정하시면 됩니다.
[ABOV]테이블 등 초기값을 갖는 특정 데이터를 Flash 영역에 저장 프로그램을 하다 보면 초기값을 가지는 특정 데이터가 RAM 영역이 아니라 Flash(ROM) 영역에 저장될 필요가 있습니다. 이 경우에 어떻게 해야 하는지 알아보겠습니다. unsigned int AT103_11K_Table[]= { //--------50.1~60---------- // 279~219(61개) 800,800,800,795,795,795, // 6 ... } 이렇게 선언을 하고 컴파일 후 map 파일을 보시면 AT103_11K_Table 0x2000001c Data 2668 main.o(.data) RAM 영역에 선언되어 있습니다. Flash 영역에 선언하기 위해서는 const를 사용하시면 됩니다. const unsigned int AT103_11K_Table[]= { //--------5..
[ABOV]Timer 인터럽트 예제 보면서 다른 Timer 추가하기 ABOV사의 A31G12x의 TIMER1n_MatchInterrupt 예제를 보면서 Timer를 추가해 보았습니다. 타이머 설정 void TIMER15_Configure( void ) { ... } 타이머를 설정하는 부분입니다. 이 부분을 그래로 보고 void TIMER14_Configure( void ) { .... } 를 만들었습니다. 단지 TIMER15 -> TIMER14로 변경하였습니다. 인터럽트 핸들러 void TIMER15_IRQHandler_IT( void ) { .... } 인터럽트 발생하면 처리해야 하는 내용들이 있습니다. void TIMER14_IRQHandler_IT( void ) { .... } 를 만들었습니다. 단지 TIMER15 -> TIMER14로 변경하였습니다. 타이머 인터럽..