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

 
 
> Прошу совета по индексам массивов
king2
сообщение Nov 6 2006, 03:02
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 255
Регистрация: 17-08-06
Из: Москва
Пользователь №: 19 646



Есть такой вот код:

Код
    171                usb_buffer[usb_txtail++]=0x05;
   \   00000094   9160....           LDS     R22, usb_txtail
   \   00000098   2F56               MOV     R21, R22
   \   0000009A   9553               INC     R21
   \   0000009C   9350....           STS     usb_txtail, R21
   \   000000A0   E055               LDI     R21, 5
   \   000000A2   E070               LDI     R23, 0
   \   000000A4   01FB               MOVW    R31:R30, R23:R22
   \   000000A6   ....               SUBI    R30, LOW((-(usb_buffer) & 0xFFFF))
   \   000000A8   ....               SBCI    R31, (-(usb_buffer) & 0xFFFF) >> 8
   \   000000AA   8350               ST      Z, R21


Изначально предполагалось, что так как usb_txtail unsigned char, то оно досчитает до 255 и начнет снова с нуля без всяких танцев с бубнами. А фиг...

Если после этого вставить строчку:
Код
if (usb_txtail == 255) usb_txtail = 0;

то все работает на ура. Если этой строчки нет - досчитав до 255, начинается какая-то свистопляска, оно выводит содержимое буфера еще раз...

Есть какие-нить идеи на эту тему? smile.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- king2   Прошу совета по индексам массивов   Nov 6 2006, 03:02
- - aaarrr   Цитата(king2 @ Nov 6 2006, 06:02) Если по...   Nov 6 2006, 08:57
- - _Bill   Цитата(king2 @ Nov 6 2006, 06:02) Есть та...   Nov 6 2006, 09:38
- - aaarrr   ЦитатаЕсть два варианта: А Вас не смущает то, что ...   Nov 6 2006, 10:18
- - rezident   А тип самого буфера наверное unsigned int? А попро...   Nov 6 2006, 10:37
|- - prottoss   Скомпилил вот такой код: КодUCHAR bfr[300...   Nov 6 2006, 12:00
|- - rezident   Цитата(prottoss @ Nov 6 2006, 17:00) НИКО...   Nov 6 2006, 12:57
|- - prottoss   Цитата(rezident @ Nov 6 2006, 19:57) Цита...   Nov 6 2006, 16:27
|- - sz36   Цитата(rezident @ Nov 6 2006, 15:57) Цита...   Nov 9 2006, 23:58
|- - prottoss   Цитата(sz36 @ Nov 10 2006, 06:58) Цитата(...   Nov 10 2006, 12:19
- - aaarrr   Цитата(rezident @ Nov 6 2006, 15:57) Еще ...   Nov 6 2006, 13:11
- - rezident   Вот еще в Википедии отыскал существенное (по-моему...   Nov 6 2006, 13:51
- - IgorKossak   Цитата(king2 @ Nov 6 2006, 05:02) А фиг.....   Nov 6 2006, 14:50
- - aaarrr   Цитата(rezident @ Nov 6 2006, 16:51) Вот ...   Nov 6 2006, 14:56
|- - rezident   Цитата(aaarrr @ Nov 6 2006, 19:56) Цитата...   Nov 6 2006, 15:02
- - aaarrr   Цитата(rezident @ Nov 6 2006, 18:02) ОК ...   Nov 6 2006, 15:20
- - _Sam_   Я вообще не понял в чём проблема! Цитатаесли ...   Nov 8 2006, 08:06
|- - prottoss   Цитата(_Sam_ @ Nov 8 2006, 15:06) Цитатан...   Nov 8 2006, 08:30
- - ARIM   Цитата(king2 @ Nov 6 2006, 06:02) начинае...   Nov 8 2006, 12:01
- - king2   Отвечаю сразу всем. Если вынести инкремент в отдел...   Nov 13 2006, 14:26
- - aaarrr   Цитата(king2 @ Nov 13 2006, 17:26) ...   Nov 13 2006, 14:57
|- - king2   Цитата(aaarrr @ Nov 13 2006, 17:57) Цитат...   Nov 13 2006, 15:38
|- - prottoss   Цитата(king2 @ Nov 13 2006, 22:38) А оно ...   Nov 13 2006, 16:01
- - aaarrr   А как при условии равенства индексов определить, с...   Nov 13 2006, 16:04
- - king2   Посылательный код: Код //! writes byte in FIFO...   Nov 13 2006, 21:25
- - _Sam_   ЦитатаВопрос в том, почему при переходе через 0 он...   Nov 14 2006, 06:48
|- - king2   Цитата(_Sam_ @ Nov 14 2006, 09:48) Цитата...   Nov 14 2006, 13:45
- - _Sam_   Могли бы и целиком код привести. И указать в этом ...   Nov 15 2006, 06:43
- - king2   Итак, проблема найдена, вопрос закрыт. Дело было ...   Nov 22 2006, 00:56


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

 


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


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