main.c
#include "stm8s.h"
bool state = FALSE;
void GPIO_setup(void);
void EXTI_setup(void);
void clock_setup(void);
void main(void)
{
GPIO_setup();
EXTI_setup();
clock_setup();
do
{
GPIO_WriteReverse(GPIOD, GPIO_PIN_0);
if(state == TRUE)
{
}
else
{
}
}while (TRUE);
}
void GPIO_setup(void)
{
GPIO_DeInit(GPIOB);
GPIO_Init(GPIOB, GPIO_PIN_7, GPIO_MODE_IN_PU_IT);
GPIO_DeInit(GPIOD);
GPIO_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_LOW_FAST);
}
void EXTI_setup(void)
{
ITC_DeInit();
ITC_SetSoftwarePriority(ITC_IRQ_PORTB, ITC_PRIORITYLEVEL_0);
EXTI_DeInit();
EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOB, EXTI_SENSITIVITY_FALL_ONLY);
EXTI_SetTLISensitivity(EXTI_TLISENSITIVITY_FALL_ONLY);
enableInterrupts();
}
void clock_setup(void)
{
CLK_DeInit();
CLK_HSECmd(DISABLE);
CLK_LSICmd(DISABLE);
CLK_HSICmd(ENABLE);
while(CLK_GetFlagStatus(CLK_FLAG_HSIRDY) == FALSE);
delay_ms(100);
delay_ms(1000);
Need help?
Do you have a question about the STM8 and is the answer not in the manual?
Questions and answers