Перейти к содержанию
    

aiwa

Участник
  • Постов

    322
  • Зарегистрирован

  • Посещение

Весь контент aiwa


  1. Имеется ввиду, что программаторы для avr доступные и сравнительно дешевые. Аналогично, платы аурдино сравнимы по цене с заказом своих собственных. Поэтому вместо разработки и заказа своих плат часто закупают партию "аурдино", программатором стирают заводской бутлоадер и получают готовую чистую плату для своих нужд.
  2. Настройка АЦП

    Как-то так запуск одного преобразования, вначале вызвать для 1-го канала start_ADC(0); start_ADC(int channel) { ADMUX = channel&0x07; ADCSR|=ADEN|ADSC|ADIE; } функция обработки прерывания АЦП void ih_ADC() { BYTE channel_ADC=reg_ADMUX&0x7; uniWORD value; value.B.L = ADCL; // обязательно первым value.B.H = ADCH; ValuesADC[channel_ADC]= value.W; channel_ADC++; if(channel_ADC>=3) channel_ADC=0; start_ADC(channel_ADC); }
  3. Текст с указанием смещения (+3) - это название таймзоны и парсить ее нет необходимости, потому что все необходимые переменные содержатся в соответствующей структуре. (разница в минутах между зоной и гринвичем, разница в минутах между летним и зимним временем и их границы. Достается эта структура через API. В последних Windows - просто вызов функции, в более ранних - через АПИ работы с реестром.
  4. При смене имени переменной Вам приходится много комментировать. Оформите замену имени в одном месте, в коде например _P_OUT_BUF, а в неадере комментируете ненужный вариант. #define _P_OUT_BUF P_OUT_BUF #define _P_OUT_BUF P_OUT_BUF_HC. И попробуйте снова. Если будут различия, выложите пожайлуста asm-ы обоих вариантов. И версию IAR-а.
  5. Не мое дело, влазить не красиво, но все же... Выше, там где Вы среагировали на Молдову, прозвучал способ решения без написания новых программ. Перечитайте еще раз.
  6. Да, спасибо. Теперь все стало объяснимым. Симкомовские шаромыжники писали во все прошивки вариант алгоритма еще от 19 марта 2000 года. Если бы не поленились изменить на выпускаемой в 11-13 году дату, то устройства еще бы добрый десяток лет работали.
  7. Первым признаком переполнения счетчика недель является правильное время, с улетевшей именно в 2000 год датой. Насколько я понимаю именно это и произошло. Можно еще подсчитать разницу между текущей датой и ошибочно возвращаемой. Если она составит ровно 1024 недели, то подозрения на СИМКОМ еще больше возрастут, в противном случае - наоборот. Единственная нестыковка в том, что сбой произошел не с 06 на 07 апреля, а осенью. Но можно предположить до сбоя СИМКОМ пользовался GPS-сервером, а после потерял его адрес и начал вычислять данные только от спутников.
  8. Трудно представить, что неверная дата не от модуля SIM. Прежде чем возиться с бинарником STM32, я бы посоветовал прослушать что возращает SIM, если у Вас есть возможность прицепиться к RX порта. По поводу AT+CCLK? прогуглил, что команда возвращает время и дату оператора, если так, то она не годится для перепроверки.
  9. Проблема со всеми годами вплоть до какого-то дня в апреле 2019 (точно не помню, вроде бы 19 апреля). Именно с этой даты, когда счетчик переполнился и начал счет с 0, старое ПО будет добавлять это количество недель к прошлой дате в 1999 году. Поэтому дату больше чем апрель 2019 этот gps уже никогда не выдаст. Лечить либо перепрошивкой, либо исправлением даты уже после gps.
  10. Так pps же выдается на основе внутреннего кварца. Даже чисто теоретически - формат любого сообщения со спутника подразумевает не менее нескольких секунд длины. Что там внутри за источник тактирования неизвестно, но сообразно с ценой модулей слишком большой точности там не должно быть. Смысл наверное в том, чтобы этот сигнал постоянно корректировать от спутника.
  11. Как оказалось мы не одни такие во вселенной. Оссцилогрф + кондиционер
  12. Исключено. Причем, это единственно, что известно доподлино. Он мог выдать задание на занятие этой работой. Теперь я задумался, стоит ли ворошить прошлое. Если PPS плавает в зависимости от конфигурации спутников, то, по идее посуточное число тактов должно быть одинаковым. Наверное при наличие идеального генератора у МК лучше непрерывно убирать разницу между двумя pps.
  13. Уточню по SIM800. Тоже клюнули на EAT: казалось перспективная штука, чтобы не обременять свой чердак традиционной телеграфией AT-команд. Но симком перподнес сюрприз: в последних изделиях он в качестве EAT предлагает запихнуть внутрь AT- версию программы внешнего контроллера. Придется все писать заново то, от чего лтказались из-за этого сладкого слова EAT.
  14. Модуль не контрафактный, поставки от дилера. Качестве сигнала - хорошее, если судить по по факту нахождения спутников после ресета устройства, - стабильно несколько секунд. Вернется исследователь, уточню, может он ошибочно связал плавание с температурой, а оно явилось следствием различной конфигурации спутников в зависимости от времени суток.
  15. Когда возник вопрос повышения точности, сотрудник рассматривал возможность использования PPS и его окончательное резюме было про цепочку. Сотрудник окончил институт радиоэлектроники лет 40 опыта, чем пользовался я не знаю, сейчас он в отпуске. Но насколько помню даже до осциллографа не дошло, потому что слишком явная была корреляция в разнице показаний времени (что-то около 200 или 300 миллисек) в разное время суток в зависимости от температуры. Извините, заработался. Модуль EB800.
  16. Наш сотрудник, возившейся с подобной задачей утверждает что это частота с незаданной точностью. Он утверждает, что в качестве кварца обычная RC-цепочка со всеми вытекающими.
  17. У нас часть модулей SIM800 (EB800 или EB500) оказалась с таким эффектом. Просто уже после получения "неправильного" ответа с gps лечили простым прибавлением 1024 недель. Если не ошибаюсь, такой сюрприз выдали более ранние модули, с последними все нормально. Хотя прошивались они в едином производственном потоке. Поэтому, ИМХО, проверьте еще раз: если Trimble действительно "ответственно относятся", то они должны были выложить решение и для тех двух модулей, может Вы случайно пропустили.
  18. Это номер приватной посылоки со спутника перевалил через 10-битное значение и обнулился. Прибавьте к получаемой дате 1024 недели и Вы получите правильную дату
  19. Нет. Лицензия этого не требует. Лицензия требует публикации измененного открытого кода. В качестве примера можно привести многочисленные устройства на линуксе, содержащее проприетарные закрытые части.
  20. Преобразование в BCD - лишнее промежуточное преобразование.
  21. оставляем следы

    Сетевой "лазер" с выходом на Ethernet или принт-сервер тянет за собой, кроме требуемого протокола для вывода, дополнительные проблемы по обслуживанию этого принтера в виде организации очереди печати и ответа на возможные вопросы, которые драйвер принтера при стандартном применении выбрасывает как диалоговое окно.
  22. Я имел ввиду не внутренний или внешний контроллер, а развитие именно нормального SDK. Имхо, необходимость внешнего контроллера отпадет: будет реализована возможность заливки внутрь прошивки пользователя с обменом по внутреннему каналу через телетайпный интерфейс.
  23. EAT, конечно же, удобная штука. Только мучают смутные сомнения по поводу его будущего.
  24. В даташите при описании ADLAR "Otherwise, ADCL must be read first, then ADCH."
×
×
  • Создать...