1. USB 핀셋팅
2.middle ware > USB_DEVICE > CDC > 버퍼사이즈 조정
3. 클럭설정 > 48MHZ 필요, : CPU 클럭 72 로 다시 바꿔줘야함 or 1.5 prescaler
4. inc , app 파일 include 경로설정
5. 재복사 > hal_cof, it.c, clock(main.c > systemClock)
statup_handler 문제
ex)
sysTick_Handler 같은건 .word SysTick_Handler
>> startup코드에 구현되어있음
6. main 에서 초기화, 헤더파일 가져옴7. 메모리 문제.. 47%나 잡아먹음8. 세팅 > optimize for size > 20% 로 줄어들음 > 디버깅 과정속 미구현 변수들 사라질수 있음 // ex) 고추건조기 float temper 처럼 > 디버깅때는 optimize zero
GPIO_InitTypeDef GPIO_InitStruct = {0};
GPIO_InitStruct.Pin = GPIO_PIN_12;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD; // 오픈 드레인 출력 모드
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_RESET);
delay(100);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_SET);
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
USB핀 하나를 껏다 켜서 장치 리셋시킴
extern CDC_Transmit_FS(uint8_t* Buf, uint16_t Len);
CDC_Transmit_FS("test\n", 6);
테스트용 CDC 를 이용한통신
'임베디드 > 펌웨어 기초' 카테고리의 다른 글
cdc 2 (0) | 2025.01.05 |
---|---|
stm32 mx >LED (1) | 2025.01.03 |
초기설정 (0) | 2025.01.02 |