Наткнулся на одну неприятную особенность таймеров STR912.
Таймеры тактируются от PCLK. Частота PCLK 48 МГц. Надо организовать прерывание таймера через 1мкс. Значения регистра совпадения и предделителя рассчитаны правильно, но прерывание возникает с периодом больше чем 1 мкс.
В поисках по форуму, наткнулся на пост уважаемого
AlexandrY:
Цитата
Кстати, обнаружил, что програмный такт у STR в 1.4 раза длинее чем у LPC при выполнении из RAM.
Т.е. если симулятор для LPC покажет 60 000 000 тактов при выполнении процедуры, а потом измерить это время при выполнении на мекете с частотой ядра 60 Мгц то получим ровно 1 сек. Для STR91 получим 1.4 сек при выполнении из области DTCM RAM, а из области мапированной на AHB RAM еще длинее.
Но так как таймеры тактируются от сигнала PCLK да и сказанно там про программный такт, то как по мне частота тикания таймера от сказанного в цитате не зависит.
Тогда вопрос, изза чего таймер тикает медленее?
Попытка подключить источник тактового сигнала Fmstr вместо PCLK не увенчалась успехом.
Сообщение отредактировал artur_off - Jan 18 2010, 16:04