void TSC_Init(void) { #if TOUCH_SCREEN_CAPABILITY SPI_InitTypeDef SPI_InitStructure; TSC_GPIO_Configuration(); RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE); SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_64; SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; SPI_InitStructure.SPI_CRCPolynomial = 7; SPI_Init(SPI1, &SPI_InitStructure); SPI_Cmd(SPI1, ENABLE); TSC_EXTI_Configuration(); TSC_NVIC_Configuration(); #endif }
/** * @brief Initializes the IO Expander registers. * @param None * @retval - 0: if all initializations are OK. */ uint32_t GL_TSC_Interface_Init(void) { #if TOUCH_SCREEN_CAPABILITY /* Configure the needed pins */ TSC_GPIO_Configuration(); /* Read IO Expander 1 ID */ if(IOE_IsOperational(pTscHwParam.TSC_DeviceRegister)) { return 1; } /* Generate IOExpander Software reset */ IOE_Reset(pTscHwParam.TSC_DeviceRegister); /* Disable all the Functionnalities */ IOE_FnctCmd(pTscHwParam.TSC_DeviceRegister, IOE_IO_FCT | IOE_TEMPSENS_FCT | IOE_TS_FCT | IOE_ADC_FCT, DISABLE); #endif return 0; /* Configuration is OK */ }