본문 바로가기

STM32F4_STUDY

(12)
[STM32F4_ZE_NET] FSMC 테스트 - TFT LCD 출력 테스트 [STM32F4_ZE_NET] FSMC 테스트 - TFT LCD 출력 테스트 STM32F4의 FSMC를 이용하면 TFT-LCD를 버스 방식으로 제어 가능하다. STM32F4의 FSMC는 4개의 64MB로 할당 가능하다. STM32F405 FSMC 블록도 STM32F405 FSMC 테스트 초기화 코드 초기화 코드 #define LCD_BANK_ADDR ((uint32_t)0x6C000000)#define _LCD_CMD_OUT(Data) (*(uint16_t *) (LCD_BANK_ADDR) = Data)#define _LCD_DAT_OUT(Data) (*(uint16_t *) (LCD_BANK_ADDR) = Data)#define _LCD_DATA(p) (*(volatile uint16_t*) (LCD_..
STM32F401 회로 설계시 주의사항 STM32F401 회로 설계시 주의사항기존 STM32F4의 PB11 (64핀 기준 30번핀, 100핀 기준 48번핀) 이 VCAP로 대치되어 있으므로 주의가 필요하다. 이부분만 호환 할 수 있도록 설계하면 동일하게 사용할 수 있다.
STM32F4 UART interrupt 테스트 STM32F4 UART interrupt 테스트 void U0_SetInt(void){ /* NVIC for USART1 */ HAL_NVIC_SetPriority(USART1_IRQn, 0, 1); HAL_NVIC_EnableIRQ(USART1_IRQn); /* Enable the UART Data Register not empty Interrupt */ __HAL_UART_ENABLE_IT(&UartHandle, UART_IT_RXNE);} void USART1_IRQHandler(void){ U0_PutByte(U0_GetByte());}
STM32F4 Software Reset Test (소프트웨어 리셋) STM32F4 Software Reset Test (소프트웨어 리셋) void SoftReset(void){ #define AIRCR_VECTKEY_MASK (0x05FA0000) SCB->AIRCR = AIRCR_VECTKEY_MASK | 0x04; } STM32F429 에서 소프트웨어 리셋 테스트 예제int main(void){ HAL_Init(); //Configure the System clock to have a frequency of 180 MHz SystemClock_Config(); Led1Init(); Led1On(); Delay(2000); Led1Off(); Delay(2000); SoftReset(); while(1) { } return 0;}
STM32F429 180Mhz 클럭 구동 설정 STM32F429 180Mhz 클럭 구동 설정 STM32F429는 180Mhz까지 구동 가능하다. 기존 STM32F4 코드 system_stm32f4xx.c 파일에서 수정가능하다. #if _USE_MAINCLK_168MHZ// 168Mhz#define PLL_N 336 uint32_t SystemCoreClock = 168000000;#endif #if _USE_MAINCLK_180MHZ// 180Mhz#define PLL_N 360 uint32_t SystemCoreClock = 180000000;#endif
STM32F4 타이머 인터럽트 테스트 - 1초 만들기 STM32F4 타이머 인터럽트 테스트 STM32F4에서 TIM2, TIM5는 32bit 타이머 모드를 지원한다. 이를 이용하여 1초 만들기 테스트를 해 보았다. STM32F4 타이머 인터럽트 초기화 함수void TimerInit2(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; uint16_t PrescalerValue = 0; NVIC_InitTypeDef NVIC_InitStructure; /* TIM2 clock enable */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); /* TIM2 gloabal Interrupt 초기화 */ ..
[STM32F4] I2C 테스트 - 3축 가속도 센서 TFT LCD 출력 [STM32F4] I2C 테스트 - 3축 가속도 센서 TFT LCD 출력 3축 가속도 센서를 테스트 해야할 일이 있어 STM32F407 보드를 이용하여 I2C 테스트를 해보았다. 기존 STM32F103 I2C 테스트 코드과 크게 차이 없이 테스트 가능했다. [EXP-NET EVM] 보드에는 I2C(SPI)로 연결되는 자이로, 가속도, 온도, 압력 센서등의 모듈을 연결할 수 있는 표준핀맵 커넥터가 있다. SM-Type EVM 에는 핀 8번에, M-Type EVM에는 핀 13번에 각각 CS핀이 할당되어 있다. STM32F4 I2C테스트 동영상STM32F407 을 이요하여 3가속도 센서의 데이터를 TFT-LCD에 그래프로 표시하는 테스트 예제 STM32F4 I2C 초기화 코드void i2c_init1(unsi..
[STM32F4] FPU테스트 - Julia Set Fractal calculation TFT LCD 출력 [STM32F4] FPU테스트 - Julia Set Fractal calculation TFT LCD 출력 STM32F4 는 플로팅 포인트 연산을 하드웨어로 처리하는 FPU가 있다. DSP도 아닌 저렴한 MCU에서 FPU를 사용할 수 있다는것은 상업용 MCU개발자에게 상당히 메리트 있는 소식이다. 우선 간단히 FPU의 성능을 테스트 해 보았다. float function1(float number1, float number2) { float temp1, temp2; temp1 = number1 + number2; temp2 = number1/temp1; return temp2; } STM32F4 를 이용하여 컴파일 해 보면 아래와 같이 플로팅 포인트 연산을 한 명령어에 처리하는것을 확인 할 수 있다. 5 ..