PIC18F2520 отсчет времени - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: demanik 
Форум Picbasic.ru » Программирование МК » Proton PicBasic » PIC18F2520 отсчет времени
PIC18F2520 отсчет времени
Володимир Дата: Вт, 29.05.2012, 17:18  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 85
Репутация: 3   ±
Замечания:   ±
На сайте с 22.04.2010

Статус: Offline

Хочу сделать на PIC18F2520 самописец, который непрерывно будет через "компорт" опрашивать блок упправления двигатетем и принятые данные записывать в карту памяти ММС. Но хотелось бы, чтобы с данными записывались и временные метки, тоесть, вместе с ответом от блока управления, писать в карту памяти и время прошедшее от начала записи лога. Как посчитать это время, чтобы не мешать ни обмену с блоком управления двигателя, ни процесу записи на карту памяти?
Сообщение отредактировал Володимир - Вт, 29.05.2012, 17:19
ЯНДЕКС Дата: 29.05.2012
ADMIN Дата: Вт, 29.05.2012, 19:09  |                                                                                                                Сообщение # 2
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Какой смысл работать с компортом, если на борту контроллера есть USB? Для отсчета времени используй один таймер, для других задач - другой. В данном случае тебе поможет не протон. Здесь уместнее всего использовать Swordfish. Обращайся к DAlexV. Для 18 пиков - самый наилучший вариант, ИМХО
mikhail09p Дата: Вт, 29.05.2012, 23:12  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 495
Репутация: 10   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

ADMIN, на Протоне такое сделать нереально? Давно смотрю на USB, но пока не знаю, с чего начать. Swordfish не знаю...
ivan_fd Дата: Вт, 29.05.2012, 23:50  |                                                                                                                Сообщение # 4
Группа: Модераторы
Ранг:  Специалист
Сообщений: 882
Репутация: 47   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Почему не реально, очень даже реально.
А SwordFish - а ломаного, есть только одна версия, и немного сырая.
Последние стабильные версии почему то не ломают.


Меня все время преследуют умные мысли...но я быстрее!!!
ADMIN Дата: Ср, 30.05.2012, 02:14  |                                                                                                                Сообщение # 5
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

На протоне, думаю, вполне реально. Просто на рыбе легче организовать что-то типа многозадачности. С теми же самыми таймерами - проще простого.

ps: тоже написал... biggrin Ему USB не нужен, у него блок общается по RS232 судя по всему
DAlexV Дата: Вт, 12.06.2012, 14:12  |                                                                                                                Сообщение # 6
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 691
Репутация: 17   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Прошу прощения, хроническая нехватка времени. Тему видел, а отписаться, увы .... Что же касаемо вопроса. Да, Рыба это наверное единственный компилятор из Барсиков поддерживающий работу с файловой системой(если не прав, поправте). Но данная библиотека очень прожорлива в смысле памяти.
Quote (ADMIN)
Просто на рыбе легче организовать что-то типа многозадачности.
Многозадачность можно реализовать на любом проце и барсике, все зависит от структуры программы.
Quote (Володимир)
который непрерывно будет через "компорт" опрашивать блок упправления двигатетем и принятые данные записывать в карту памяти ММС. Но хотелось бы, чтобы с данными записывались и временные метки, тоесть, вместе с ответом от блока управления, писать в карту памяти и время прошедшее от начала записи лога. Как посчитать это время, чтобы не мешать ни обмену с блоком управления двигателя, ни процесу записи на карту памяти?

1. Внешние часы. Перед началом обмена сохраняем время в памяти и начинаем обмен. по завершении обмена снова считываем время и из него вычитаем предыдущее.
2. таймер (в зависимости от точности которая требуется) стартуем перед обменом и считываем после окончания. Главное что бы либо не было переполнения(по переполнению можно будет судить об обрыве связи например) или при переполнении прибавит 1 к счетчику переполнений таймера и быстро выйти из прерывания дабы не помешать обмену. При завершении обмена стопорнуть таймер и высчитать время обмена.

Запись на MMC производить между обменом с блок управления, то же касаемо и обменом с UART.
Quote (ivan_fd)
А SwordFish - а ломаного, есть только одна версия, и немного сырая. Последние стабильные версии почему то не ломают.

Ломаной версией пользуюсь на работе(неохота ключ с собой постоянно таскать). Работает стабильно и без глюков. А последнии версии глючат по страшному(и обновлять их пока не собираются angry ) Вот видимо по этому и не ломают.
Удачи wink


Будьте оригинальны - не повторяйте чужих ошибок !!!!
Пишу только на Рыбе (SwordFish). Другую пищу не предлагать, на шерсть влияет :)
rvstar Дата: Вт, 12.06.2012, 15:51  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 60
Репутация: 2   ±
Замечания:   ±
На сайте с 09.10.2007

Статус: Offline

А почему нельзя записывать на 24c512? 64K мало?
Форум Picbasic.ru » Программирование МК » Proton PicBasic » PIC18F2520 отсчет времени
Страница 1 из 11
Поиск: