Плата самодельная на STM32F20RB (64 ноги).
На порт B подключено АЦП AD9220. Запитано: Цифровая часть 3.3V (контроллер запитан тем же), Аналоговая 5V.
Ноги микроконтроллера и АЦП соединены напрямую.
Пока порт B висит в исходном состоянии - все хорошо: Идет отладка, все работает.
Но как только выполняется следующий код (инициализация и бесконечный цикл), кристалл уходит в астрал и далее не определяется отладчиком.
Есть призрачные подозрения что конфигурация пина BP2, он же BOOT1 делает что то нехорошее
Инициализация
Код: Выделить всё
void FastADC_ConfigPin(void)
{
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);
// с этих пинов будем читать данные
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Pin =
GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_14|
GPIO_Pin_15| GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 |
GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_DOWN;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_Init(GPIOB, &GPIO_InitStruct);
//на этот пин будут подаваться клоки
GPIO_InitStruct.GPIO_Pin = 12;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_Init(GPIOB, &GPIO_InitStruct);
}
Код: Выделить всё
FastADC_ConfigPin();
uint32_t i = 0;
while(1) {
GPIOB->BSRRL |= 1<<12; //set bit
for (i=0;i<100;i++){};
GPIOB->BSRRH |= 1<<12; //reset bit
for (i=0;i<100;i++){};
}
В связи с подозрениями интересует такой вопрос: при попадании 5V на вход выйдет ли из строя только порт или весь кристалл?
only pure true norwegian blackx 


