SystemCoreClock - 72MHz. Мне нужно было задать делитель так, чтобы таймер увеличивался каждые 8µs. Это получается если Prescaler=575. TIM_Period в этом случае нафиг не нужен. TIM_Period нужен только чтобы таймер проходил полный круг перед сбросом в 0. Вы возможно путаете - каждые 8µS таймер должен увеличиваться, а не переполняться. Короче правильность работы этого таймера проверяется легко - запускаете heartbeat generation например на 2с - и наблюдаете в любом CANанализаторе по таймстампингу насколько точно приходят сообщения. Если таймер настроен правильно, то должно быть 2+-0,001с
canDispatch стоит в основном инфинити луп, но не в функции, которая раз в 1мс вызывается. Это изза того, что за 1мс может много сообщений прийти и все их нужно успеть обработать. Если бы canDispatch только раз в мс вызывался, то сообщения терялись бы. ConfigureSlaveNode я только сегодня тестить буду. Не ожидаю никаких проблем. Что у Вас теряется?
|