[UML] 클래스 다이어그램 작성법 https://gmlwjd9405.github.io/2018/07/04/class-diagram.html 8비트 MCU 또는 32비트 MCU 선택 기준 매트 사운더(Matt Saunders) 실리콘랩스 마이크로컨트롤러 및 무선 사업부, 필드 마케팅 담당 이사 이 글은 8비트 MCU와 32비트 MCU를 선택하는 데 있어 버스 폭이 MCU의 선택 기준이 될 수 없는 이유에 대해 설명하고자 한다. 임베디드 개발자들은 마이크로컨트롤러에 대해 광범위한 선택을 할 수 있지만 버스 폭이 반드시 성능별로 단계적인 기준으로 적용되지 않기 때문이다. 반도체 제조업체가 32비트 아키텍처를 마이크로컨트롤러에 포팅하기 시작하면서 엔지니어링 커뮤니티에서는 8비트 디바이스가 사라질 것이라는 예측도 있었다. 사실, 8비트 디바이스가 적용된 기기의 사용은 감소해 왔으며 더 이상 시장을 주도하는 위치도 아니다. ▲ MCU 그러나 8비트가 사라지기에는 아직도 먼 이야기다. 실제 32비트.. FreeRTOS - 힙 메모리 관리 글의 맨 밑에 출처로 이동하시면 Amazon FreeRTOS 사이트에서 더 깔끔하게 보실 수 있습니다. 힙 메모리 관리 V9.0.0부터는 힙 메모리를 FreeRTOS 애플리케이션에 완전히 정적으로 할당할 수 있습니다. 이 말은 힙 메모리 관리자를 추가할 필요가 없다는 것을 의미합니다. 이번 단원에서 다루는 내용은 다음과 같습니다. ● FreeRTOS의 RAM 할당 시점 ● FreeRTOS와 함께 제공되는 5가지 메모리 할당 체계 예제 ● 각 메모리 할당 체계의 사용 사례 전제 조건 FreeRTOS를 사용하려면 C 프로그래밍에 대해 잘 알고 있어야 합니다. 특히 다음 사항에 정통해야 합니다. ● 컴파일 및 링크 단계를 포함한 C 프로젝트의 빌드 방식 ● 스택 및 힙에 대한 개념 ● 표준 C 라이브러리 ma.. 구조체와 const에 관하여 25 typedef struct Hello Hello; 26 27 /*## class Hello */ 26 29 struct Hello { 30RIC_EMPTY_STRUCT 31}; 32 33 34/* User explicit entries */ /* Operations */ 38 39 /* # operation print () */ 40 void Hello print (Hello* const me); 41 42/* User implicit entries */ 43 *** 44 45 /* Constructors and destructors:*/ 46 47 48 /*## auto generated */ 49 void Hello Init (Hello* const me); 50 51 /*## auto gene.. 14 FreeRTOS Tutorial: Mutex https://www.youtube.com/watch?v=rqpbQlzgws0 /* Includes ------------------------------------------------------------------*/ #include "main.h" #include "cmsis_os.h" #include "usb_host.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include "FreeRTOS.h" #include #include #include "semphr.h" /* USER CODE END Includes */ TaskHandle.. 12 FreeRTOS Tutorial: Direct To Task Notifications part2 https://www.youtube.com/watch?v=cv9VIotr4Ms&list=PLEfMFrwVdbPYzMgeaLiFRb4ogjV8m3lt6&index=13&t=0s TaskHandle_t myTask1Handle = NULL; TaskHandle_t myTask2Handle = NULL; int notificationValue; void myTask1(void *pvParameters) { TickType_t xDelay = pdMS_TO_TICKS(1000); TickType_t myLastUnblock; myLastUnblock = xTaskGetTickCount(); for(;;) { xTaskNotify(myTask2Handle , 0 , eNoAction); //notification.. 11 FreeRTOS Tutorial: Direct To Task Notifications part1 https://www.youtube.com/watch?v=Ht7QRfUvWsI&list=PLEfMFrwVdbPYzMgeaLiFRb4ogjV8m3lt6&index=12&t=0s /* USER CODE BEGIN 0 */ TaskHandle_t myTask1Handle = NULL; TaskHandle_t myTask2Handle = NULL; void myTask1(void *pvParameters) { TickType_t xDelay = pdMS_TO_TICKS(1000); TickType_t myLastUnblock; myLastUnblock = xTaskGetTickCount(); for(;;) { xTaskNotifyGive(myTask2Handle); vTaskDelay(1000); } } voi.. 정수를 문자열로 변환하기 이번에는 정수를 문자열 형태로 변환하는 방법입니다. sprintf 함수를 사용하면 정수를 문자열로 변환할 수 있습니다(stdio.h 헤더 파일에 선언되어 있습니다). sprintf(문자열, "%d", 정수); sprintf(문자열, "%x", 정수); sprintf(문자열, "%X", 정수); 다음 내용을 소스 코드 편집 창에 입력한 뒤 실행해보세요. #define _CRT_SECURE_NO_WARNINGS // sprintf 보안 경고로 인한 컴파일 에러 방지 #include // sprintf 함수가 선언된 헤더 파일 int main() { char s1[10]; // 변환한 문자열을 저장할 배열 int num1 = 283; // 283은 정수 sprintf(s1, "%d", num1); // %d를.. 이전 1 2 3 4 5 6 다음