Software Basic Algorythm - ST STM32F0 Series Application Note

Getting started with touch sensing control on stm32 microcontrollers
Hide thumbs Also See for STM32F0 Series:
Table of Contents

Advertisement

7.2.6
STM32F072B-DISCO software basic algorythm
The user needs now to write the main application loop.
Example to show keys usage instead of slider usage.
Open your IDE and in main.c file add the following lines:
/* USER CODE BEGIN 3 */
extern TSL_LinRot_T MyLinRots[];
static uint32_t
tsl_user_status_t status = TSL_USER_STATUS_BUSY;
status = tsl_user_Exec();
if(TSL_USER_STATUS_BUSY == status)
{
// Nothing to do
if(cnt++%50==0){
HAL_GPIO_TogglePin(LD3_GPIO_Port, LD3_Pin);
}
HAL_Delay(1);
}
else
{
if(MyLinRots[0].p_Data->StateId == TSL_STATEID_DETECT)
{
//TSLPRM_LINROT_RESOLUTION
if(MyLinRots[0].p_Data->Position >= 5 && MyLinRots[0].p_Data->Position < 50)
{
HAL_GPIO_WritePin(LD4_GPIO_Port, LD4_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(LD6_GPIO_Port, LD6_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(LD5_GPIO_Port, LD5_Pin, GPIO_PIN_RESET);
}
if(MyLinRots[0].p_Data->Position >= 50 && MyLinRots[0].p_Data->Position < 80)
{
HAL_GPIO_WritePin(LD6_GPIO_Port, LD6_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(LD4_GPIO_Port, LD4_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(LD5_GPIO_Port, LD5_Pin, GPIO_PIN_RESET);
}
if(MyLinRots[0].p_Data->Position >= 80 && MyLinRots[0].p_Data->Position < 120)
{
HAL_GPIO_WritePin(LD5_GPIO_Port, LD5_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(LD4_GPIO_Port, LD4_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(LD6_GPIO_Port, LD6_Pin, GPIO_PIN_RESET);
}
}
else //if(MyLinRots[0].p_Data->StateId == TSL_STATEID_RELEASE)
{
HAL_GPIO_WritePin(LD4_GPIO_Port, LD4_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(LD5_GPIO_Port, LD5_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(LD6_GPIO_Port, LD6_Pin, GPIO_PIN_RESET);
}
}
}
/* USER CODE END 3 */
Take care of ST-Link setup, see
AN5105 - Rev 1
cnt=0;
Figure 38. STM32F072B-DISCO
Discovery board: STM32F072B-DISCO
setup.
AN5105
page 34/52

Hide quick links:

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the STM32F0 Series and is the answer not in the manual?

Questions and answers

Table of Contents