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

 
 
> Два вложенных бесконечных цикла вызывают сбой 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
 
Start new topic
Ответов
Anub
сообщение Sep 27 2008, 17:22
Сообщение #2


Участник
*

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



HEX: 2600 байт
Со всеми обвесами 2609 операторов

Chip: ATtiny2313
Memory model: Tiny
Optimize for: Size
(s)printf features: int, width
(s)scanf features: int, width
Promote char to int: No
char is unsigned: Yes
8 bit enums: Yes
Enhanced core instructions: On
Automatic register allocation: On

2609 line(s) compiled
No errors
7 warning(s)

Bit variables area: 2h to 2h
Bit variables size: 1 byte(s)

Data Stack area: 60h to 7Fh
Data Stack size: 32 byte(s)
Estimated Data Stack usage: 16 byte(s)

Global variables area: 80h to CAh
Global variables size: 75 byte(s)

Hardware Stack area: CBh to DFh
Hardware Stack size: 21 byte(s)

Heap size: 0 byte(s)

EEPROM usage: 0 byte(s) (0,0% of EEPROM)
Program size: 466 words (45,5% of FLASH)
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 07:51
Рейтинг@Mail.ru


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