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

adnega

Свой
  • Постов

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

  • Посещение

  • Победитель дней

    3

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


  1. Можно поподробней? Если соединение разрывает сервер (которому уже нечего передавать), то AT^SISC нужен?
  2. Периодически (порядка раз в час) бывают ошибки 616 (network is down) или 640 (operation of service temporary not allowed). Обычно проходят самостоятельно от нескольких секунд до 2-3 минут, НО иногда все виснет наглухо и помогает только пересброс питания модема. Сам модем при этом работает: звонит, принимает звонки, уровень сигнала отличный, но не отвечает на команду AT^SISO=0.
  3. В общем случае верно всегда, но при неудачном выборе полинома CRC слабо зависит от данных, т.е. не реагирует на изменение битов.
  4. CRC тем хорош, что если рассчитать вместе буфер с данными и значением CRC этих данных, то получим 0. По сути это остаток от деления длинного числа полученного последовательной записью всех байтов на полином. Если полином 16-бит (реально 16+1), то остаток 16 бит. И получается, что 16 битную CRC нельзя добавить в конец массива 14 битных данных для получения CRC всего блока (данные + CRC) равной 0.
  5. Офф: У меня один знакомый был - оптимизатор. Оптимизировал непрерывно по поводу и без. Он по GPS ходил минимальным маршрутом (ничего, что напролом, через кусты, песок и другие препятствия). Круглый год ходил в одной куртке. Когда настали морозы чел прикинул, что если не купить теплую куртку, то придется больше есть. ППЦ критерий покупки одежды! ТС еще далек от такого состояния, но находится на "верном пути"))
  6. Это образ жизни такой: кто-то экономит на накипи, изобретая софтовые механизмы продления жизни нагревателя (дополнительных затрат ноль, не считая времени разработки). Кто-то экономит на электроэнергии, заливая теплую воду, а сэкономленные деньги потом отдаст за ремонт пластмассовых и резиновых деталей. А большинство не "страдает" и в сэкономленное время работает и зарабатывает - в итоге в обществе потребителей сейчас легче купить новую стиральную машинку, чем думать над профилакткой, или еще чего разрабатывая оптимальные алгоритмы работы.
  7. Знакомый установил какой-то хитрый смеситель перед стиральной машиной: в бак попадает вода нужной температуры. В домах с плохой проводкой свет будет мигать раз в 10 секунд - это может раздражать.
  8. Так точно! Уже не помню и от дома сейчас далеко, но может быть, что в ревизии Z вывод PDR (вроде так называется 99 или 100 нога) нужно подключить к GND, а в ревизии A к VCC. Или все наоборот.
  9. От тока меняется цвет, а у люксметра есть кривая чувствительности.
  10. У 407 как минимум две ревизии "A" и "Z". Было такое с ревизией "А". Лечение описано в ES.
  11. Спасибо за оперативность. Программаторы получил.
  12. STM32F303 & TSC

    Трогал (правда 373). Вроде, проблем не было. Правда, в одном чипе у компаратора была большая утечка - заменил чип. Может и у Вас бракованная/убитая микросхема?
  13. if ( (EXTI->PR) == (1 << 2) ) if ( (EXTI->PR) == (1 << 3) ) Неправильно. Нужно так: if ( (EXTI->PR) & (1 << 2) ) if ( (EXTI->PR) & (1 << 3) ) }
  14. Скорее всего напряжение прямо-пропорционально частоте. Рассчитать ФНЧ до приемлемого выходного напряжения. На входе резистор, затем конденсатор на землю. Снимаем напряжение с конденсатора (и параллельно стабилитрон).
  15. Единственное нужно выбрать и настроить таймер. //----------------------------------------------------------------------------- // void init_TIMER12(void) //----------------------------------------------------------------------------- void init_TIMER12(void) { TIM12->CR1 = 0; TIM12->CCER = 0; if(rcc_state == RCC_STATE_PLL) TIM12->PSC = ((FPLL >> 1) / 1000000) - 1; else TIM12->PSC = (FHSI / 1000000) - 1; TIM12->ARR = 1000; TIM12->CCR1 = 2 - 1; TIM12->CCMR1 = (OC_MODE_PWM1 << TIM_CCMR1_OC1M) | (1 << TIM_CCMR1_CC2S); TIM12->CCER = (1 << TIM_CCER_CC2E) | (0 << TIM_CCER_CC2P); TIM12->DIER = (1 << TIM_DIER_UIE) | (1 << TIM_DIER_CC1IE) | (1 << TIM_DIER_CC2IE); TIM12->CR1 = (0 << TIM_CR1_CEN); } //----------------------------------------------------------------------------- // void TIM8_BRK_TIM12_IRQHandler(void) //----------------------------------------------------------------------------- void TIM8_BRK_TIM12_IRQHandler(void) __attribute__((interrupt("IRQ"))); void TIM8_BRK_TIM12_IRQHandler(void) { if(TIM12->SR & (1 << TIM_SR_UIF)) { TIM12->SR &= ~(1 << TIM_SR_UIF); OW_on_data(TIM12->CCR2); } if(TIM12->SR & (1 << TIM_SR_CC1IIF)) { TIM12->CCER &= ~(1 << TIM_CCER_CC1E); TIM12->SR &= ~(1 << TIM_SR_CC1IIF); } if(TIM12->SR & (1 << TIM_SR_CC2IIF)) { TIM12->SR &= ~(1 << TIM_SR_CC2IIF); } } tim_ds18b20.zip
  16. Могу перевести на карту Сбербанка (идеально).
  17. Для STM32 вообще все делается на таймере прекрасно: один канал сравнения и второй канал захвата. Т.е. критичные тайминги формируются аппаратно, а расстояние между битами плюс-минус километр - можно и в другом прерывании поработать. Работает гирлянда из 8 датчиков без вопросов. Проверял один датчик через 200 метров от -30 до 120 C - тоже работает.
  18. А эти (ksz8021/31/41) чем не подходят? Есть требования к температурному диапазону?
  19. Versaloon делают из STM32VLDISCOVERY и т.п. Цена вопроса рублей 300 - дешевле, чем пересылка. Насчет покупки я тоже готов, но через неделю уезжаю числа до 8 августа. Могу денег куда надо заслать сейчас, а получить или сейчас (буквально на днях), или после 8 августа. Хотелось бы цену узнать в рублях + расходы на пересылку.
  20. Или так? void StructCopy() { *(STR *)&Buffer[0] = S; // запись S = *(STR *)&Buffer[0]; // чтение }
  21. SPI

    Можно 16 бит отправлять/принимать аппаратно, а 17-й программно. Или первый программно, а остальные 16 аппаратно.
  22. Я бы взял 1-2 программатора, но я из Ярославля. OFF: для Ваших целей versaloon не подойдет?
  23. У Cortex-M3 есть инструкция Правда, в Rn должен быть подготовлен шаблон.
  24. Только не нужно путать падение напряжения для постоянного тока и для переменного. Есть смысл нарисовать в схеме все трассы с большим током "жирным цветом" их жирными дорогами и водить. Остальные трассы звездой, и ничего страшного, что они тонкие. Ничего страшного, что дорога к индуктивности не жирная, ну пусть у нее будет ненулевая индуктивность - просто сложатся две индуктивности. Главное, чтобы постоянный ток выдерживала. Хуже, если сигнал снимается с делителя, образованного этими двумя индуктивностями. С учетом обратной связи милливольты могут превратится и в десятки милливольт.
  25. Вы отключили функции SWD. Пины, отвечающие за отладку, должны быть сконфигурированны в "Alternate function mode". Обратите внимание, что после сброса значение GPIOA->MODER = 0xA8000000 не нулевое.
×
×
  • Создать...