Как НЕ переполнять стек .

AVR версия программы

Re: Как НЕ переполнять стек .

Сообщение mim (mim) » 03 янв 2013, 10:20

Напиши правильно прием в порт и не нужно переделывать экзешник. Принимай в буфер. Можно хоть файл принять... Сделай небольшой пример.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе

Re: Как НЕ переполнять стек .

Сообщение saho (Саша) » 03 янв 2013, 12:13

Вот так ? Даю не единичный проход , а цикл в 255 раз . Тогда всё действительно на лету ловит .
proba.zip
У вас нет доступа для просмотра вложений в этом сообщении.
Последний раз редактировалось Саша 03 янв 2013, 23:23, всего редактировалось 1 раз.
Аватар пользователя
Ник: saho
Имя: Саша
(Ровно)
Специалист
Специалист
Информация о пользователе

Re: Как НЕ переполнять стек .

Сообщение mim (mim) » 03 янв 2013, 14:40

Я ничего не понял. А почему прерывание по 232 не включено? Разбираться в программе лениво. Нужен простой пример. Прием в порт это классика. Поймешь классику, с портом не будешь знать проблем. В прерывании нужно писать все в буфер (массив). В макросе приема 232 написать только прием из регистра в массив. Посмотри в 4 версии сколько там лишнего.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Как НЕ переполнять стек .

Сообщение saho (Саша) » 04 янв 2013, 00:23

Прошу простить за дезу . Отключил аннотации , что бы больше места было и забыл включить . Выкладываю обновлённый файлик и краткое пояснение тестовой программки .
exe.zip
Работаю по форуму над массивми . Это похоже , как мы символы кирилицы в ФК через массивы использовали ?
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: saho
Имя: Саша
(Ровно)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: Как НЕ переполнять стек .

Сообщение Taska (Максим) » 04 янв 2013, 08:36

saho писал(а): Это похоже , как мы символы кирилицы в ФК через массивы использовали ?

Ты так же можешь принять строку, это своего рода тоже массив или создать свой, все зависит от размера передаваемых данных.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Как НЕ переполнять стек .

Сообщение mim (mim) » 04 янв 2013, 08:45

mim писал(а):Я ничего не понял. А почему прерывание по 232 не включено? Разбираться в программе лениво. Нужен простой пример. Прием в порт это классика. Поймешь классику, с портом не будешь знать проблем. В прерывании нужно писать все в буфер (массив). В макросе приема 232 написать только прием из регистра в массив. Посмотри в 4 версии сколько там лишнего.

Ты читаешь что я пишу?
Всего две строчки
Код: выделить все
FCV_BUFF[FCV_I] = UDR;
FCV_I++;

Как только буфер заполнен - начинаешь его обработку. Если учесть скорость заполнения буфера, то обработку можно начинать как только переменная I будет больше нуля. Для размышления...
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Как НЕ переполнять стек .

Сообщение saho (Саша) » 06 янв 2013, 02:48

mim писал(а):Ты читаешь что я пишу?
Читаю , но не так быстро реагирую , как самому хотелось бы . Что для тебя очевидно - для меня целый ворох нового , с которым пробую разобраться
Всего две строчки
Код: выделить все
FCV_BUFF[FCV_I] = UDR;
FCV_I++;
С этим разобрался -ресурс Для размышления... - здорово помог . На много проще работать , когда процесс представляешь как бы физически .
Не могу не спросить -такой способ записи в буфер был где то описан в мануале , или обнаружился методом кропотливых проб ? Ведь в самом деле по сравнению со старшей версией - это просто одна руна по сравнению с длинным заклинанием .
Аватар пользователя
Ник: saho
Имя: Саша
(Ровно)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: Как НЕ переполнять стек .

Сообщение mim (mim) » 06 янв 2013, 09:06

saho писал(а):1. Что для тебя очевидно - для меня целый ворох нового , с которым пробую разобраться
2. Не могу не спросить -такой способ записи в буфер был где то описан в мануале , или обнаружился методом кропотливых проб ?

1. Не нужно прибедняться (в отличии от многих я читаю все посты), я вижу как ты пишешь и вижу что делаешь...
2. Я конечно сказочный персонаж, но не до такой же степени, чтобы тыкать пальцем куда попало... Различные стеки и буфера описаны еще при царе Горохе... Просто нужно изучать структуру МК. Пытаться понять ДАТЫ на МК. Я владею английским не более чем все здесь на форуме. Но если, даже тупо, смотреть в ДАТУ (хотя многие этого не делают) через время будешь понимать все и без английского. А главное изучать примеры других и пытаться их улучшить.

ЗЫ Я давно хотел описать работу USART, но пока руки не доходят. Всего 3 регистра настройки и регистры приема и передачи. Для ПИК у меня уже есть наброски, но нет времени это преподнести для других...
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Пред.

Вернуться в Flowcode AVR

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей