PIC18F2520 отсчет времени
|
|
Володимир |
Дата: Вт, 29.05.2012, 17:18 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
69
Замечания:
±
На сайте с 22.04.2010
Статус:
Offline
|
Хочу сделать на PIC18F2520 самописец, который непрерывно будет через "компорт" опрашивать блок упправления двигатетем и принятые данные записывать в карту памяти ММС. Но хотелось бы, чтобы с данными записывались и временные метки, тоесть, вместе с ответом от блока управления, писать в карту памяти и время прошедшее от начала записи лога. Как посчитать это время, чтобы не мешать ни обмену с блоком управления двигателя, ни процесу записи на карту памяти?
Сообщение отредактировал
Володимир - Вт, 29.05.2012, 17:19
|
|
|
|
ADMIN |
Дата: Вт, 29.05.2012, 19:09 | Сообщение # 2 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Какой смысл работать с компортом, если на борту контроллера есть USB? Для отсчета времени используй один таймер, для других задач - другой. В данном случае тебе поможет не протон. Здесь уместнее всего использовать Swordfish. Обращайся к DAlexV. Для 18 пиков - самый наилучший вариант, ИМХО
|
|
|
|
mikhail09p |
Дата: Вт, 29.05.2012, 23:12 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
481
Замечания:
±
На сайте с 04.05.2010
Статус:
Offline
|
ADMIN, на Протоне такое сделать нереально? Давно смотрю на USB, но пока не знаю, с чего начать. Swordfish не знаю...
|
|
|
|
ivan_fd |
Дата: Вт, 29.05.2012, 23:50 | Сообщение # 4 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Почему не реально, очень даже реально. А SwordFish - а ломаного, есть только одна версия, и немного сырая. Последние стабильные версии почему то не ломают.
|
|
|
|
ADMIN |
Дата: Ср, 30.05.2012, 02:14 | Сообщение # 5 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
На протоне, думаю, вполне реально. Просто на рыбе легче организовать что-то типа многозадачности. С теми же самыми таймерами - проще простого.
ps: тоже написал... Ему USB не нужен, у него блок общается по RS232 судя по всему
|
|
|
|
DAlexV |
Дата: Вт, 12.06.2012, 14:12 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Прошу прощения, хроническая нехватка времени. Тему видел, а отписаться, увы .... Что же касаемо вопроса. Да, Рыба это наверное единственный компилятор из Барсиков поддерживающий работу с файловой системой(если не прав, поправте). Но данная библиотека очень прожорлива в смысле памяти. Quote (ADMIN) Просто на рыбе легче организовать что-то типа многозадачности. Многозадачность можно реализовать на любом проце и барсике, все зависит от структуры программы. Quote (Володимир) который непрерывно будет через "компорт" опрашивать блок упправления двигатетем и принятые данные записывать в карту памяти ММС. Но хотелось бы, чтобы с данными записывались и временные метки, тоесть, вместе с ответом от блока управления, писать в карту памяти и время прошедшее от начала записи лога. Как посчитать это время, чтобы не мешать ни обмену с блоком управления двигателя, ни процесу записи на карту памяти? 1. Внешние часы. Перед началом обмена сохраняем время в памяти и начинаем обмен. по завершении обмена снова считываем время и из него вычитаем предыдущее. 2. таймер (в зависимости от точности которая требуется) стартуем перед обменом и считываем после окончания. Главное что бы либо не было переполнения(по переполнению можно будет судить об обрыве связи например) или при переполнении прибавит 1 к счетчику переполнений таймера и быстро выйти из прерывания дабы не помешать обмену. При завершении обмена стопорнуть таймер и высчитать время обмена.
Запись на MMC производить между обменом с блок управления, то же касаемо и обменом с UART. Quote (ivan_fd) А SwordFish - а ломаного, есть только одна версия, и немного сырая. Последние стабильные версии почему то не ломают. Ломаной версией пользуюсь на работе(неохота ключ с собой постоянно таскать). Работает стабильно и без глюков. А последнии версии глючат по страшному(и обновлять их пока не собираются ) Вот видимо по этому и не ломают. Удачи
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
rvstar |
Дата: Вт, 12.06.2012, 15:51 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
69
Замечания:
±
На сайте с 09.10.2007
Статус:
Offline
|
А почему нельзя записывать на 24c512? 64K мало?
|
|
|
|