mantech 32 16 августа, 2018 Опубликовано 16 августа, 2018 (изменено) · Жалоба Приветствую. Может кому интересно будет. Разбирался с таймерами в проце А13, а там их 8 штук, если не ошибаюсь, причем 6 асинхронных 32бита и 2 синхроных 56 бит, заметил такую бяку, когда на асинхр таймере 0 работает простой счетчик с прерыванием(вызов прерывания перекл. контекста 10КГц) и ставлю на второй тактировку приемника программного уарта (19200 бит\сек) получал сбойные символы, примерно 1 на 10-15 правильных. Начал копать, где глюк, пробовал задавать разные приоритеты не работает, проверил уарт без прерываний таймера 0 - все как часы, включил прерывания от других источников (уарты) работали на макс частоте 11КГц, все тоже работает прекрасно, перекинул 10КГц с асинхр на синхр. таймер - тоже все ок. Но если опять же кинуть эти задачи на синхронные таймера, опять начинаются сбои. Чувствую, проблема в китайских ip-корках блоков таймеров или их тактировке. Вообщем вот такая ложка дегтя, в МХ6 с таймерами все ок было... Изменено 16 августа, 2018 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 172 16 августа, 2018 Опубликовано 16 августа, 2018 · Жалоба Может кому интересно будет. ... Вообщем вот такая ложка дегтя, в МХ6 с таймерами все ок было... Мне конечно не очень интересно, так как не пользую и не планирую ;) , но всё описанное совсем никак не указывает на проблему в МК. А больше походит на проблему с переключением контекста по этому самому 0-у таймеру. Либо ещё какие-то проблемы с прерываниями. Либо глюки в Вашем ПО, уж извините, но это гораздо более вероятно :laughing: Сделайте Ваш софт-UART на ПДП с тактированием от таймера и, возможно, глюки пропадут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 32 16 августа, 2018 Опубликовано 16 августа, 2018 (изменено) · Жалоба Мне конечно не очень интересно, так как не пользую и не планирую ;) , но всё описанное совсем никак не указывает на проблему в МК. А больше походит на проблему с переключением контекста по этому самому 0-у таймеру. Либо ещё какие-то проблемы с прерываниями. Либо глюки в Вашем ПО, уж извините, но это гораздо более вероятно :laughing: Сделайте Ваш софт-UART на ПДП с тактированием от таймера и, возможно, глюки пропадут. Инициализация по даташиту, переключение контекста во время теста было отключено, глюки наблюдаются только, когда используется несколько таймеров из какого-либо одного блока, т.е. 2 асинхр или 2 синхр. таймера вместе, т.е. когда 1 асинхр и 1 синхр - все норм. обработчик прерываний стандартный, во всех режимах работает исправно. У каждого таймера свой вектор. Изменено 16 августа, 2018 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться