Jump to content

    

Cianid

Участник
  • Content Count

    18
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Cianid

  • Rank
    Участник
  1. Я наверно не информативно сказал. На шелкографии возле кварцов прям указано на какие пины заходят - как раз на те самые рабочие. Остальные я так понял не используются. Это просто я тупанул, не догадался посмотреть на кварцы внимательно.
  2. Нет, там АА11, просто первая А не отображается. В схемах, которые продавец предоставил (с али заказывал) нет полной принципиалки, только отдельные узлы. Я уже написал - там стоят 3 кварца, которые заводятся на рабочие пины. В остальных банально ничего нет. Собственно определил проблему.
  3. Принципиальной схемы с источниками тактирования для этой платы нет. Но я разобрался, там стоят 3 кварца и они заводятся на те пины которые работают.
  4. Да просто прокинул цепь от тактовых входов через делитель на выходы, идущие на светодиоды.
  5. Всех приветствую. На development board A-E115FB c E4CE115F23I7 из всех тактовых пинов (15 шт). Рабочими оказалось только 3, причем все только CLK_n. Проверял через делители на светодиоды. Можете подсказать в чем проблема?
  6. Спасибо. Заработало. Не совсем очевидна оказалась логика группировки 5-9 и 10-15 запросов в 1 регистр. А зачем обнулять именно весь регистр?
  7. 13ый пин выбирается для прерывания в SYSCFG_EXTICR4 регистре, подумал, что ему в соответствие ставится EXTI3_IRQn вектор.
  8. Как не тот? Всего же 5 векторов для обработки внешних прерываний. 13ый порт идет на EXTI3_IRQn.
  9. Всех приветствую. Проблема такая: при нажатии кнопки собственно нет захода в обработчик. При этом в дебаге вижу появление флага в PR13 в PR регистре. Прикрепил состояния регистров EXTI и SYSCFG. Инициализация прерывания void interrupt_init () { RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN; RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN; GPIOC->PUPDR |= GPIO_PUPDR_PUPDR13_1; SYSCFG->EXTICR[3] &= ~SYSCFG_EXTICR4_EXTI13; SYSCFG->EXTICR[3] |= SYSCFG_EXTICR4_EXTI13_PC; EXTI->FTSR |= EXTI_FTSR_TR13; EXTI->RTSR |= EXTI_RTSR_TR13; EXTI->IMR |= EXTI_IMR_IM13; __NVIC_EnableIRQ(EXTI3_IRQn); } Основной цикл и обработчик int main(void) { spi_init(); port_led_init(); interrupt_init(); while (1) { GPIOA->ODR |= GPIO_ODR_OD5; GPIOA->ODR = 0; } } void EXTI3_IRQHandler (void) { EXTI->PR |= EXTI_PR_PR13; spi_write(0xAB); spi_write(0x14); for (int i =0; i<1000000; ++i) { GPIOA->ODR |= GPIO_ODR_OD5; } for (int i =0; i<1000000; ++i) { GPIOA->ODR = 0; } }
  10. Синтезатор просто добавил мультиплексор. Тут есть что то криминальное? Аккуратно, большой вес картинки.
  11. У меня 2МГц SPI. Я действительно не могу понять, чем чревато добавлять в список чувствительности еще один сигнал. Не имел пока возможности. Завтра попытаюсь с вами связаться.
  12. Собственно решил проблему, как подсказал des00. Cделал срабатывание по по фронту SS. module spi_slave (rstb,ss,sck,sdin,done,rdata, sdout); input rstb; input ss; input sck; input sdin; output reg done; output reg [7:0] rdata; output reg sdout; reg [7:0] rreg; reg [3:0] nb; reg [3:0] nf; always @(posedge sck or negedge rstb or posedge ss) begin if (rstb == 0) begin done <= 0; nb <= 0; nf <= 0; sdout <= 0; end else if (ss) begin nb <= 0; done <= 0; nf <= 0; sdout <= 0; end else begin rreg ={rreg[6:0],sdin}; nb <= nb + 1; if(nb != 7) done <= 0; else begin rdata=rreg; done <= 1; nb <= 0; nf <= nf + 1; if(nf == 7) begin sdout <= 1; nf <= 0; end end end end endmodule