본문 바로가기

2018/12

(28)
#STM32G0 STM32CubeIDE Timer Test - 1% HSI 이용 #STM32G0 STM32CubeIDE Timer Test - 1% HSI 이용 STM32G0 스펙을 보면 HSI클럭 부분에서 1%를 강조 하고 있다. 기존 칩보다 강점 이라고 내새우니 한번 테스트 해 봐야 겠다. Core: Arm® 32-bit Cortex®-M0+ CPU, frequency up to 64 MHz-40°C to 85°C/125°C operating temperatureUp to 64 Kbytes of Flash memory8 Kbytes of SRAM with HW parity check Voltage range: 1.7 V to 3.6 V 4 to 48 MHz crystal oscillator32 kHz crystal oscillator with calibrationInternal ..
CP2105 2Channel USB2UART 모듈 보드 제작 2채널의 USB2UART 기능이 있는 CP2105를 이용하여 USBTypeC 커넥터의 USB2UART 모듈 보드를 제작 했다. SSM 표준 핀맵으로 제작해 기존의 다양한 테스트 보드에 확장 연결하여 테스트 가능하도록 했다. USB를 연결하면 장치 관리자에서 2개의 가상 COM포트가 할당되는것을 확인 할수 있다.
STM32H7 EXTI 외부 인터럽트 테스트 STM32H7 EVM 보드에는 6개의 입력 스위치가 있고 5개의 외부 인터럽트를 테스트 할 수 있다. STM32CubeMx 를 이용하여 HAL 코드를 생성한다. 우선 핀맵에서 스위치가 연결되어 있는 포트 PC13을 GPIO_EXTI13 으로 설정한다. STM32CubeMx의 GPIO 탭에서 PC13을 풀업 설정을 해준다. 인터럽트를 설정하기 위해 EXTI line [15:10] interrupts 를 체크 한다. STM32CubeMx 에서 생성된 코드를 보면 GPIO초기화와, 인터럽트 초기화 코드가 생성된 것을 확인할 수 있다. static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock Enable..
STM32H7 EVM - USB 메모리 스틱, SD Card 동시 테스트 STM32 EVM 보드의 USB와 SD Card 를 동시에 제어해서 2개의 드라이버 제어를 해 보았다.STM32 CubeMX에서 FATFS설정을 SD Card와 USB Disk 를 동시에 체크하면 된다. 그리고 VOLUME이 2개로 자동 설정되어 있다. CubeMX 자동 생성된 코드에서 fatfs.c 파일의 MX_FATFS_Init() 함수를 보면 SD Card와 USB가 동시에 Link되어 있는것을 확인 할 수 있다. 여기서 드라이버 순서를 수정하면 되겠다.uint8_t retSD; /* Return value for SD */char SDPath[4]; /* SD logical drive path */FATFS SDFatFS; /* File system object for SD logical driv..
STMH7 EVM - USB Mass Storage Host Mode 테스트 STMH7 EVM - USB Mass Storage Host Mode 테스트 STM32H7 EVM 보드에는 USB Host 및 Device를 테스트 할 수 있는 커넥터가 있다. CubeMX로 USB HOST 모드 설정 USB_HOST 모드설정을 Mass Storage Host Class 로 설정한다.VBUS 파워 공급을 GPIO로 설정 할 수도 있지만 이번에는 그냥 하드웨어 적으로 Host Mode 고정으로 전원을 강제로 공급하도록 했다. CubeMX에서 FATFS 설정은 USB Disk로 설정한다. 이렇게 CubeMX 설정으로 마무리 하여 코드를 생성하면 대부분 자동으로 생성이 된다.생성된 코드에서 수정 할 부분을 usb_host.c 파일의 USBH_UserProcess() 함수에 추가하면 된다. ma..
STM32H7 CubeMx SD Card Test STM32H7 CubeMx SD Card Test [STM32H7 EVM] 보드에는 4bit SD 인터페이스가 있어 SD카드 FAT 연결 테스트를 Stm32CubeMx를 이용하여 해 보았다. 우선 SD카드는 하드웨어 적으로 STM32H7의 디폴트 SDMMC1에 연결되어 있다. STM32H7 EVM보드는에 아래면에 SD소켓이 장착되어 있다. STM32CubeMx 를 이용하여 SDMMC1을 SD 4bit 모드로 선택한다. Middleware 탭의 FATFS에서 Mode를 SD Card로 선택 한다. 이렇게 해서 기본으로 코드 생성하면 아래와 같은 코드가 생성 되는데... 주의 해야 할 사항은 bsp_driver_sd.c 파일에 있는 BSP_SD_Init() 함수를 호출 해 주어야 한다는 것이다. int ma..
STM32H7 EVM - 이더넷 테스트 (TCP/IP전송 속도 테스트) STM32H7 EVM - 이더넷 테스트 (TCP/IP전송 속도 테스트) STM32H743의 경우 100핀 페키지에 이더넷을 지원하고 480Mhz로 동작 하기 때문에 작은 사이즈에 고성능 이더넷이 필요한 어플리케이션에 사용하기에 좋을것 같다. STM32H7 EVM 보드에는 Ethernet PHY 모듈을 연결할 수 있어 STM32H7 의 Ethernet을 연결을 할 수 있다. Ethernet PHY 모듈 핀맵 먼저 STM32CubeMx 로 Connectivity -> ETH 탭에서 RMII 모드로 설정해 준다. Middleware -> LWIP 탭에서 TCP/IP stack 를 설정해야 하는데... 활성화가 안되어 있다. SYS탭에서 DCache를 Enable 해야 활성화가 된다. DCashe 도 설정 해 ..
STM32H7 Timer 테스트 - 1초 만들기 (내부 클럭 vs 외부클럭) STM32H7 Timer 테스트 - 1초 만들기 (내부 클럭 vs 외부클럭) 별다른 기능이 없는 TIMER6을 사용하여 테스트 해 보자 CubeMX 에서 세팅 인터럽트 체크하고... 생성된 코드에서 stm32h7xx_it.c파일을 보면 TIM6_DAC_IRQHandler()가 생성되어 있고 인터럽트 발생시 마다 HAL_TIM_IRQHandler() 함수를 호출한다. void TIM6_DAC_IRQHandler(void){ /* USER CODE BEGIN TIM6_DAC_IRQn 0 */ /* USER CODE END TIM6_DAC_IRQn 0 */ HAL_TIM_IRQHandler(&htim6); /* USER CODE BEGIN TIM6_DAC_IRQn 1 */ /* USER CODE END TIM..

반응형