Вверх ↑
Ответов: 43
Рейтинг: 1
#1: 2014-02-19 16:25:52 ЛС | профиль | цитата
Я не вмешиваюсь в работу порта. Постараюсь сейчас более понятно обьяснит. Весь обмен ПК с МК происходит по UART (урезаный Com порт с уровнями ТТЛ логики, имеет Rx и Tx). Я использую аппаратный преобразователь USB-COM (FT232RL) из которого использую только Rx и Tx. Получается USB-UART. В винде преобразователь определяется как ком порт.
Ход работы должен быть такой:
1. В программе (которую сейчас пишем) нажимаем кнопку "Подключиться", прога отправляет символы "U" до тех пор, пока загрузчик в МК не ответит "c45". Когда пришел этот ответ, это означает, что МК подключился к ПК через загрузчик.
2. Далее мы посылаем символы "pf" или "pe", в зависимости от того, куда мы хотим записать наш hex файл. "pf" - flash, "pe" - eeprom. После этого мы ждем ответ от МК. МК отвечает "pf+" или "pe+" соответственно. Этот ответ означает, что загрузчик готов к приему данных и записи их в соответствующую память.
3. Далее должна пойти непосредственно сама передача данных. И тут в процессе передачи МК выдает команды управления потоком в наш порт(так называемые XON/XOFF), потому что порт выдает данные быстро, а контроллер не в состоянии так быстро записывать. Эти команды должна слушать наша прога и в соответствии с ними приостанавливать или возобновлять передачу данных в порт.
Как то так.
карма: 0

0