Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » проталкивающий массив


проталкивающий массив

Сообщений 1 страница 7 из 7

1

Доброго времени суток! подскажите  пожалуйста как реализовать проталкивающий массив (буфер)? уже голову сломал. Как бы просто а никак не получается.

0

2

Аля FIFO?

А что сложного:

- создаем массив;
- делаем две переменный: чтения и записи;

Всё.

Эти две переменный бегают по кругу одного массива, но запись не должна перекрывать чтение или адрес чтения должен смещаться автоматически, если запись будет производиться. Это всё работает при кратных/регламентированных данных (байт, ворд..).

Отредактировано RDW (2014-09-07 16:56:26)

0

3

а читать его как? в другую сторону получается? Я мыслил не так. пришло значение грузим его в первую ячейку массива, далее с первой перегоняем во вторую. следующий пришедший приходит снова в первую. потом смещаем вторую на третью первую на вторую итд и тп. оно продвигается. так не правильно?

0

4

Зачем делать этот тяжеловесный цикл по всему массиву, когда проще иметь две точки с разной адресацией.
Обратно читаем элементарно вычитая нужное значение с адресации.

0

5

начинаю вкуривать чуть по чуть. протеус уже дымит ))))))))))))))))  А помогли мне вы и еще колода игральных карт ))))))))))))))))спасибо

0

6

А если просто ничего никуда не сдвигать? Мы ведь знаем куда какой байт положили. Первая посылка в первой ячейке, вторая во второй, ну и т.д.

+1

7

все получилось. обычный кольцевой буфер. длинный массив забивается по кругу. читаться начинает с первого элемента в туже сторону в которую и забивается

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » проталкивающий массив