реклама на сайте
подробности

 
 
> Два вложенных бесконечных цикла вызывают сбой USART
Anub
сообщение Sep 27 2008, 15:24
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 26-05-08
Пользователь №: 37 825



ATTINY2313
8мГц
Код
while(1){
          if (setTimeFunctionEnabled){
              while(1){
                      ;                  
             };
          }
          if (PINB==0b11111011){  
              setTimeFunctionEnabled = 1;
              while(PINB==0b11111011){};
          }        
    };

Вот такая конструкция приводит к тому что USART начинает работать хз как. При отправке одного или двух символов все приходит нормально, при отправке трех приходит битая строка в которой частично или все другие символы, при попытке отправить четыре и более символов не приходит вообще ничего, либо приходит полный бред. При удалении цикла из строки три все приходит в норму. Я подозреваю что происходит нехватка производительности и контроллер не успевает в такт протоколу отправки. Какие мнения, что это еще может быть?

Сообщение отредактировал Anub - Sep 27 2008, 15:26
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th July 2025 - 04:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01349 секунд с 7
ELECTRONIX ©2004-2016