0 / 0 / 0
Регистрация: 11.03.2021
Сообщений: 5
|
||||||
1 | ||||||
Послать команду по UART c терминала на atmega16 (симуляция в Proteus)12.03.2021, 15:55. Показов 4223. Ответов 8
Здравствуйте! Уважаемые форумчане нужна ваша помощь!!! Хочу подключить датчик к ATmega16 по UART, симулирую все это на Proteus + терминал. ATmega16 посылает команду (например 77 77 77 77 77 ), терминал как-то отвечает (например 01 02 03 04 05 06 07 08 09 0А). Я хочу записать полученные с терминала данные и как-то обработать. Почитал в интернете про UART), сделал схему в протеусе, написал код. Проблемы при отправке массива байт. МК записывает какие-то данные в массив , но это не то что я отправлял ((( Если отправляю по одному байту проблем нет. Похоже, я как-то неправильно записываю данные в массив((( Поискал на форуме и в нете,но ничего не нашел. Пожалуйста подскажите где у меня ошибка или в каком направлении двигаться? Где найти инфу. В программировании я не очень, поэтому извините если что. Заранее спасибо за помощь.
КОД.
0
|
12.03.2021, 15:55 | |
Ответы с готовыми решениями:
8
Atmega16 и симуляция USART в proteus ATtiny2313 + UART + симуляция в Proteus ATmega16+UART+Proteus+LabView нужна помощь Симуляция в proteus Симуляция логики в Proteus |
2105 / 1192 / 496
Регистрация: 11.10.2018
Сообщений: 6,000
|
||||||||||||||||
12.03.2021, 18:27 | 2 | |||||||||||||||
- так частота может и не задаться, для компилятора или для среды. Какая, кстати, среда?
Задачу непонятно объясняете, попробуйте еще раз. Максимально просто, что Вы хотите получить? Начинающие не используют режим X2 - хоть бы так заработало. Добавлено через 3 минуты Также учитывайте, что для работы по UART нужен специфический кварц, например F = 11,0592 (МГц). Добавлено через 9 минут RXD микроконтроллера c TXD терминала надо соединить. Добавлено через 4 минуты - 1 стоп-бит поставь, да и не парься. Добавлено через 1 минуту - нужно не добавлять к регистру, а сделать его заново. Добавлено через 4 минуты - прерывания не там включаешь, они включаются между setup и первым действием. Здесь нужно
- сделайте массив попроще, например
] - тут бы скобки надо поставить
1
|
0 / 0 / 0
Регистрация: 11.03.2021
Сообщений: 5
|
||||||
12.03.2021, 22:12 [ТС] | 4 | |||||
Большое спасибо вам за помощь!!! Пока я пытался написать проще, все заработало. Неправильно задал настройки UART ! По вашему совету отключил X2. скорость 4800 8N1. У меня остался еще один вопрос, подскажите пожалуйста !!! (Вопрос во вложении) .Среда у меня atmel studio.
0
|
614 / 374 / 70
Регистрация: 21.09.2008
Сообщений: 1,280
|
|
13.03.2021, 06:55 | 5 |
Вовсе нет. Прекрасно работает и на 16 МГц. Просто при некоторых скоростях процент ошибок при передаче может гораздо выше и чаще будут сбои, что приведено в технической документации на МК. Даже кварцевый резонатор на 11,0592 МГц проиграет 8 МГц на скорости 250 кбит/с, допустив -7,8% ошибок против 0%.
1
|
2105 / 1192 / 496
Регистрация: 11.10.2018
Сообщений: 6,000
|
|||||||||||
13.03.2021, 08:58 | 7 | ||||||||||
0
|
0 / 0 / 0
Регистрация: 11.03.2021
Сообщений: 5
|
|
13.03.2021, 11:21 [ТС] | 8 |
Всем большое спасибо!!!
0
|
30 / 25 / 8
Регистрация: 26.06.2020
Сообщений: 105
|
|
14.03.2021, 09:12 | 9 |
Переменные "cicl" и "flag" объявите с квалификатором "volatile".
_delay_ms() перед применения нужно учесть следующее: "Макрос F_CPU должен быть определен как константа, определяющая тактовую частоту процессора (в герцах)." "Максимально возможная задержка составляет 262,14 мс / F_CPU в МГц." Не будет лишним посмотреть "AVR Libc Home Page" https://www.nongnu.org/avr-lib... delay.html
0
|
14.03.2021, 09:12 | |
14.03.2021, 09:12 | |
Помогаю со студенческими работами здесь
9
Симуляция Attiny 25/45/85 в PROTEUS "РЕШЕНО" Proteus. Симуляция и управление двигателем на МК Atmega PIC16F84A. Симуляция в Proteus, не горят светодиоды на модели AtMega16. ШИМ на Т/С1. Proteus. Проблема с АЦП в PROTEUS на AtMega16 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |