Использую микроконтроллер STM32F103T8 для управления мощными светодиодами через драйвер RCD-24-0.50. Для питания драйвера используется Step-up DC-DC преобразователь LM2621. Он повышает напряжение с 3.7 вольт до 8 вольт. Ножка микроконтроллера PA1 используется для подачи высокого уровня на ножку преобразователя Enable для его запуска.
Проблема следующая: в режиме пошаговой отладки я дохожу до строчки, в которой подаю высокий уровень на PA1. Как только я выполняю эту инструкцию, меня выбрасывает из отладки и я не могу связаться с контроллером, т.е. не прошить его, не стереть его прошивку. Помогает только отсоединение PA1 от Enable.
Схема:
Нажмите для просмотра прикрепленного файла
Код
void RCC_Configuration(void)
{
RCC_PCLK2Config(RCC_HCLK_Div2);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
}
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
int main(void)
{
RCC_Configuration();
GPIO_Configuration();
GPIO_SetBits( GPIOA, GPIO_Pin_1 );
while(1);
}
{
RCC_PCLK2Config(RCC_HCLK_Div2);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
}
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
int main(void)
{
RCC_Configuration();
GPIO_Configuration();
GPIO_SetBits( GPIOA, GPIO_Pin_1 );
while(1);
}