Перейти к содержанию
    

Лидеры

Популярный контент

Показан контент с высокой репутацией 14.02.2024 во всех областях

  1. Заглянул в итоге в даташит на этот RTD2662. Там унутре какой-то потомок 51-го ядра. STM8 - собственная разработка ST, с интелом ничего общего не имеющая. Но походу дела это оно, да. И 8051 там - default target.
    1 балл
  2. С вероятностью 99% - не это. Тот же автор в соседнем проекте использует https://github.com/KerJoe/RTDMultiProg/tree/master/interfaces/ch341 К слову, цифирки "341" втречаются только в мейкфайле. Т.е. есть некоторая вероятность, что оно там по ошибке (например, планировался функционал для связи ПК - девайс, но не сложилось). Я бы попробовал выкинуть, для начала. Но в любом случае. правильный подход - попросить автора добавить в исходный репозитарий саму библиотеку или хотя бы ссылку на неё вместо гаданий на гуще.
    1 балл
  3. https://github.com/fifteenhex/libch341a может, и не это, но что-то в этом духе
    1 балл
  4. Имя библиотеки (ch341) Которая скорее всего должна быть в папке core
    1 балл
  5. А можно как-то с терминологией определиться? Есть ведь общеупотребительная терминология. Вы, похоже, сами запутались. Есть прерывания процессора. Есть приоритет прерывания планировщика ОС. Отсюда и танцуйте. Исходя из свои представлений, у себя в программе я сделал так: //-------------------------------------------------------------------------- // Настраиваемм приоритеты прерываний. NVIC_t *nvic = NVIC_t::getInstance(); // Настраиваем все 4 приоритетных бита на PreemptPriority бит // и ни один из них на SubPriority бит. Это означает, что прерывание с более // высоким приоритетом, имеющее меньший номер, будет перебивать прерывание // с меньшим приоритетом, имеющее бОльший номер. nvic -> setPriorityGrouping( NVIC_PRIORITYGROUP_4 ); // Устанавливает для планировщика, вызываемого из SysTick, самый низкий // приоритет. nvic -> setPriority( SysTick_IRQn, configLIBRARY_LOWEST_INTERRUPT_PRIORITY ); // Учитывая настройки в "FreeRTOSConfig.h", получаем, что в обработчиках // прерываний с приоритетом 15..5 можно вызывать функции с суфиксом FromISR, // а в обработчиках с приоритетом 4..0- нельзя! Попутно тут же задам вопрос по поводу назначения приоритетов для самой ОС. Меня смущает вот что: const intfunc __vector_table[] __attribute__ ( ( section (".isr_vector_FLASH" ), used ) ) = { (intfunc)&_estack , &Reset_Handler, &NMI_Handler, &HardFault_Handler, &MemManage_Handler, &BusFault_Handler, &UsageFault_Handler, &Default_Handler, &Default_Handler, &Default_Handler, &Default_Handler, &vPortSVCHandler, &DebugMon_Handler, &Default_Handler, &xPortPendSVHandler, //<<<<<<<<<<< &xPortSysTickHandler, //<<<<<<<<<<< .... Как правильно задать наименьший приоритет для планировщика? Вопрос связан с тем, в прерывании от систика возбуждается прерывание для обслуживания планировщика. Поясните, пожалуйста, этот нюанс.
    1 балл
  6. Помимо теоретически возможных проблем с ошибочным открыванием транзисторов при высоких dV/dt есть еще и другие проблемы. Например у заказчика была проблема с деградацией изоляции обмоток электродвигателя из-за слишком высокого dV/dt на выходных каскадах инвертора - пришлось уменьшать вдвое скорость открывания и закрывания. Сначала не поверил что такое может быть, но нашел апликуху от Инфинеон с описанием такой проблемы. Пришлось поверить и сделать как просил заказчик. )
    1 балл
×
×
  • Создать...