Найдено 20 результатов
- 22 ноя 2021, 11:30
- Форум: 32-разрядные микроконтроллеры
- Тема: USB
- Ответы: 53
- Просмотры: 56111
Re: USB
Доброго времени суток! Почему то не возникает прерывание завершения передачи данных по DMA "DMACMPLINT" регистра "USB_IRQ_ENB". Разрешение прерывания //настраиваем прерывания на usb device NT_USB_DEVICE.USB_IRQ_ENB.all = (SET << USB_IRQ_ENB_SOFINTEN_Pos) | \ (SET << USB_IRQ_ENB_R...
- 21 май 2021, 16:38
- Форум: 32-разрядные микроконтроллеры
- Тема: CAN и ETHERNET(К1921ВК01Т)
- Ответы: 80
- Просмотры: 65557
Re: CAN и ETHERNET(К1921ВК01Т)
Почему при использовании механизма FIFO, для разрешения прерывания по окончании отправки необходимо выставлять флаги, которые в других режимах используются для разрешения прерывания по приему? NT_CAN.CAN_MSG[12].MOIPR.bit.RXINP = 3; NT_CAN.CAN_MSG[12].MOFCR.bit.RXIE = SET; NT_CAN.CAN_MSG[12].MOFCR.b...
- 21 май 2021, 16:25
- Форум: 32-разрядные микроконтроллеры
- Тема: CAN и ETHERNET(К1921ВК01Т)
- Ответы: 80
- Просмотры: 65557
Re: CAN и ETHERNET(К1921ВК01Т)
Доброго времени суток! Попробовал сделать как Вы говорили 1) Попробуйте выставлять флаг корректности передающего базового объекта сообщения. NT_CAN.CAN_MSG[12].MOCTR.all = MOCTR_MSGVAL_SET; непосредственно перед установкой аналогичных флагов у вспомогательных объектов после их инициализации for(uint...
- 21 май 2021, 16:16
- Форум: 32-разрядные микроконтроллеры
- Тема: CAN и ETHERNET(К1921ВК01Т)
- Ответы: 80
- Просмотры: 65557
Re: CAN и ETHERNET(К1921ВК01Т)
Так как это массив данных, который должно получить одно устройство как общий массив.Так же, не совсем ясно с какой целью во всех вспомогательных объектах задается один и тот же идентификатор (ID).
- 21 май 2021, 16:14
- Форум: 32-разрядные микроконтроллеры
- Тема: CAN и ETHERNET(К1921ВК01Т)
- Ответы: 80
- Просмотры: 65557
Re: CAN и ETHERNET(К1921ВК01Т)
Это как раз передача!Также, причина, по которой данные не доходят до адресата, может быть в конфигурации передающей стороны, которая в данном фрагменте коде не отражена.
- 20 май 2021, 15:45
- Форум: 32-разрядные микроконтроллеры
- Тема: CAN и ETHERNET(К1921ВК01Т)
- Ответы: 80
- Просмотры: 65557
Re: CAN и ETHERNET(К1921ВК01Т)
Проинициализировал FIFO структуру из одного базового (12-го) 20 вспомогательных (с 13 по 32) объектов таким вот образом. инициализация базового объекта: NT_CAN.CAN_MSG[12].MOFCR.bit.MMC = 2; NT_CAN.CAN_MSG[12].MOFGPR.bit.CUR = 13; NT_CAN.CAN_MSG[12].MOFGPR.bit.BOT = 13; прерывание возникает когда на...
- 15 ноя 2019, 16:20
- Форум: 32-разрядные микроконтроллеры
- Тема: Цифровой компаратор
- Ответы: 9
- Просмотры: 1653
Re: Цифровой компаратор
Извините, но я соврал, что невозможно включить мертвое время так как надо. Нормально работает в такой конфигурации: Сначала инициализируем полярность работы сигналов PWMA и PWMB PWMn->AQCTLA.bit.CAU = 1; PWMn->AQCTLA.bit.CAD = 2; PWMn->AQCTLB.bit.CAU = 1; PWMn->AQCTLB.bit.CAD = 2; Далее настраиваем ...
- 15 ноя 2019, 15:09
- Форум: 32-разрядные микроконтроллеры
- Тема: Цифровой компаратор
- Ответы: 9
- Просмотры: 1653
Re: Цифровой компаратор
Разобрался в чем дело. Управление выходами ШИМ блоком генерации мертвого времени находится после порогового ограничителя, а в нем для PWMB стояла инверсия относительно PWMA POLSEL = 2. Получается либо нормальная работа порогового ограничителя, либо мертвое время. При включенном пороговом ограничител...
- 15 ноя 2019, 11:41
- Форум: 32-разрядные микроконтроллеры
- Тема: Цифровой компаратор
- Ответы: 9
- Просмотры: 1653
Re: Цифровой компаратор
Нашел еще один глюк. При срабатывании компаратора сигнал PWMB переключается в "1". В настройках модуля ШИМ в регистре HDCTL выставлено, что PWMA и PWMB должны переключаться в "0". PWMA переключается, а PWMB нет. Если настроить, что PWMA переключатся в "1", то тогда PWMB...
- 06 ноя 2019, 14:54
- Форум: 32-разрядные микроконтроллеры
- Тема: Цифровой компаратор
- Ответы: 9
- Просмотры: 1653
Re: Цифровой компаратор
Спасибо! Я разобрался почему не работало. ШИМ не востанавливался, потому что не сбрасывал нужные флаги: NT_ADC.DCRTC.all |= DCTRIG0_RES | DCTRIG1_RES | DCTRIG2_RES | DCTRIG3_RES | DCTRIG4_RES | DCTRIG5_RES; NT_PWM0.HDCLR.all |= (SET << HDCLR_OST_Pos); //так как не зависимо от режима сбрасывать нужно...