Найдено 20 результатов

Сергей
22 ноя 2021, 11:30
Форум: 32-разрядные микроконтроллеры
Тема: USB
Ответы: 53
Просмотры: 56160

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
Просмотры: 65608

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
Просмотры: 65608

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
Просмотры: 65608

Re: CAN и ETHERNET(К1921ВК01Т)

Так же, не совсем ясно с какой целью во всех вспомогательных объектах задается один и тот же идентификатор (ID).
Так как это массив данных, который должно получить одно устройство как общий массив.
Сергей
21 май 2021, 16:14
Форум: 32-разрядные микроконтроллеры
Тема: CAN и ETHERNET(К1921ВК01Т)
Ответы: 80
Просмотры: 65608

Re: CAN и ETHERNET(К1921ВК01Т)

Также, причина, по которой данные не доходят до адресата, может быть в конфигурации передающей стороны, которая в данном фрагменте коде не отражена.
Это как раз передача!
Сергей
20 май 2021, 15:45
Форум: 32-разрядные микроконтроллеры
Тема: CAN и ETHERNET(К1921ВК01Т)
Ответы: 80
Просмотры: 65608

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); //так как не зависимо от режима сбрасывать нужно...

Перейти к расширенному поиску