Перейти к содержанию
    

Работаю с UART на atmega8515. Принимающая сигналы программа написана в Delphi7. А проблема вот в чем: байты то приходят, но все нулевые! Все попробовал ничего не получается... Может потому что в Delphi используется готовый компонент для работы с портом? Может он работает только в синхронном режиме? на сколько я знаю мк работает в асинхронном

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Работаю с UART на atmega8515. Принимающая сигналы программа написана в Delphi7. А проблема вот в чем: байты то приходят, но все нулевые! Все попробовал ничего не получается... Может потому что в Delphi используется готовый компонент для работы с портом? Может он работает только в синхронном режиме? на сколько я знаю мк работает в асинхронном

Не могли бы Вы выложить часть программы на микроконтроллере, где производится инициализация UART, настройки COM-порта на PC и сообщить частоту кваца контроллера. Возможно не совпадают скорости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может он работает только в синхронном режиме? на сколько я знаю мк работает в асинхронном

Нет у него синхронного режима. Попробуйте воспользоваться какой-нибудь терминальной программой (в крайнем случае и Hyper Terminal подойдет) для проверки обмена с МК.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

начал менять скорость порта стали приходить какие то символы но не те..

а сейчас вобще ничего не работает, похоже ком порт не работает, потому что даже AVRStudio не может определить плату (.. я попробовал такую штуку как в цикле задавать разную скорость UARTa (в программе для мк), вот после этого и перестало все работать. Может ли из за этого вылететь ком порт, я имею ввиду физически на уровне железа?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

начал менять скорость порта стали приходить какие то символы но не те..

Ну дык. У вас во много-много раз скорость UART'a на AVR-ке меньше чем скорость ком порта.

 

если одни нули - то START bit настолько растянут что его длительность занимает все 8 бит данных + стоп + вероятно еще что-то сверху.

 

Стандартные ошибки:

- Забыли перевести на тактирование от кварца (AVR'ка работает на заводской частоте - 1Mhz)

- неправильно задали Buad rate.

 

 

Может ли из за этого вылететь ком порт, я имею ввиду физически на уровне железа?

НЕ МОЖЕТ. Ищите проблему в том что меняли - ошибка в программе на МК.

Если замучили COM так, что он подвис - то перезагрузите комп.

Дикие идеи (что что-то не работает потому что что-то сгорело) можно выдвигать только тогда когда есть 100% уверенность в правильности программы..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

НЕ МОЖЕТ. Ищите проблему в том что меняли - ошибка в программе на МК.

Если замучили COM так, что он подвис - то перезагрузите комп.

Дикие идеи (что что-то не работает потому что что-то сгорело) можно выдвигать только тогда когда есть 100% уверенность в правильности программы..

 

Ну я же говорю что теперь даже AVRStudio не может увидеть мою плату STK500, то есть я теперь даже прошить мк не могу, нет говорит устройства и все (. А со скоростью я точно ошибся потому что не знаю на какой частоте работает мк

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...