Имею STM8S-Discovery, STVD+Cosmic_32K.
Пишу:
Код
#include "stm8s.h"
main()
{
GPIO_DeInit(GPIOD);
GPIO_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_LOW_FAST);
TIM3_DeInit();
TIM3_TimeBaseInit(TIM3_PRESCALER_2, 999);
TIM3_Cmd(ENABLE);
for(;;)
{
if (TIM3_GetCounter() < 500)
{
GPIO_WriteLow(GPIOD, GPIO_PIN_0);
}
else
{
GPIO_WriteHigh(GPIOD, GPIO_PIN_0);
}
}
}
main()
{
GPIO_DeInit(GPIOD);
GPIO_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_LOW_FAST);
TIM3_DeInit();
TIM3_TimeBaseInit(TIM3_PRESCALER_2, 999);
TIM3_Cmd(ENABLE);
for(;;)
{
if (TIM3_GetCounter() < 500)
{
GPIO_WriteLow(GPIOD, GPIO_PIN_0);
}
else
{
GPIO_WriteHigh(GPIOD, GPIO_PIN_0);
}
}
}
Все нормально, светодиод светится, т.к. период повторения 1 кГц, НО проблема в том, что когда смотрю осциллографом на PD0, то в то время когда должен быть низкий уровень в его середине периодически появляется положительный импульс??? Почему??
Спасибо!