ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
1245833 Топик полностью
VladislavS. (03.10.2022 10:19 - 10:30, просмотров: 308) ответил Dingo на Не-не-не, что-то не то. Вот в plain C есть обработчик, функция void my_isr(void); - что в этом случае у плюсов? Класс? Функция? Может ли extern "C" void my_isr(void) {} внутри себя вызывать методы классов? Если буфер реализован классом, как из обработчика положить в него данные? Как проверить состояние пина, если порт-пин описан сущностями Ц++, через те же темплейты, например?
А что остановит использовать темплейт? Вот пример. Тут PE8 это шаблонный тип и LED это шаблонный тип. Или ниже пример с USB - куда уж шаблонней? 



//extern "C" void SysTick_Handler()
//{
// LED::Toggle();
_Z15SysTick_Handlerv:
    LDR.N R0,??DataTable1
    LDR R1,[R0, #+0]
    LSLS R2,R1,#+23
    BPL.N ??SysTick_Handler_0
    MOVS R1,#+1
    STRB R1,[R0, #+7]
    BX LR
??SysTick_Handler_0:
    MOVS R2,#+1
    STRB R2,[R0, #+5]//} BX LR