Modified Bob Stone's code for ILI9341 QVGA TFT's without touch capability. Navigation is now done with rotary encoders - two for position, & one setting the maxiterations.
Dependencies: SPI_TFT_ILI9341 TFT_fonts mbed
Fork of Mandelbrot by
EncoderInit.cpp
00001 #include "mbed.h" 00002 00003 void EncoderInit(TIM_Encoder_InitTypeDef encoder, TIM_HandleTypeDef timer, TIM_TypeDef *TIMx, uint32_t maxcount, uint32_t encmode) 00004 { 00005 timer.Instance = TIMx; 00006 timer.Init.Period = maxcount; 00007 timer.Init.CounterMode = TIM_COUNTERMODE_UP; 00008 timer.Init.Prescaler = 0; 00009 timer.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 00010 00011 encoder.EncoderMode = encmode; 00012 00013 encoder.IC1Filter = 0x0F; 00014 encoder.IC1Polarity = TIM_INPUTCHANNELPOLARITY_RISING; 00015 encoder.IC1Prescaler = TIM_ICPSC_DIV4; 00016 encoder.IC1Selection = TIM_ICSELECTION_DIRECTTI; 00017 00018 encoder.IC2Filter = 0x0F; 00019 encoder.IC2Polarity = TIM_INPUTCHANNELPOLARITY_FALLING; 00020 encoder.IC2Prescaler = TIM_ICPSC_DIV4; 00021 encoder.IC2Selection = TIM_ICSELECTION_DIRECTTI; 00022 00023 00024 if (HAL_TIM_Encoder_Init(&timer, &encoder) != HAL_OK) { 00025 printf("Couldn't Init Encoder\r\n"); 00026 while (1) {} 00027 } 00028 00029 if(HAL_TIM_Encoder_Start(&timer,TIM_CHANNEL_1)!=HAL_OK) { 00030 printf("Couldn't Start Encoder\r\n"); 00031 while (1) {} 00032 } 00033 } 00034
Generated on Tue Jul 12 2022 23:08:42 by
1.7.2
