Jet-Link Ultra отладчик неплохой, верой и правдой служит уже не первый год, но сейчас к нему есть наблюдения... Есть два устройства - Master и Slave, реализованы на STM32F103 и общаются по RS-485. Master посылает пакет из нескольких байтов и принимает отклик от Slave'а. Программно реализован контроль передачи пакета ЧЕРЕЗ ПРЕРЫВАНИЯ с помощью USART3 на скорости 9600 Бод. Пока не подключаю отладчик, все замечательно работает. Теперь делаем следующее: 1. Ставим log breakpoint в соотв место обработчика прерывания по флагу TXE, чтобы выдавался лог по факту передачи каждого байта. Осциллом садимся на TX вывод STM32F103 и видим, что байты передаются не пакетом, а с задержками около 10 (!!!) ms после каждого байта. Выключаем log breakpoint и видим, что байты передаются пакетом как и положено. 2. Ставим log breakpoint в соотв место обработчика прерывания по флагу RXNE, чтобы выдавался лог по факту приема каждого байта. Вижу только прием первого байта пакета...
Вопрос: в чем причина такого поведения? Скорость соединения 2МГц (так написано в панели jet-link'а). Должно же быть все быстрее?
|