Установите высокий вывод в начале функции, которую вы хотите установить на время, установите в конце низкий уровень и измерьте ширину импульса с помощью осциллографа.
В зависимости от того, какой Cortex M4 вы используете, может существовать регистр счетчика циклов DWT->CYCCNT
, но включение такового определяется поставщиком. Подробности можно найти в Техническом справочнике Cortex M4 . Ваша таблица данных, справочное руководство и руководство по программированию должны содержать больше информации, если это необходимо.
В качестве альтернативы, если у вас есть быстрый таймер, такой как SysTick, работающий с тактовой частоты процессора, вы можете инициализировать счет в 0x00FFFFFF, запустить его обратный отсчет в начале вашей функции и остановить его в конце, тогда вы можете работать время, взятое как (0x00FFFFFF - SysTick-> CVR) * (1 / частота SysTick).