Jump to content

snn_krs

Members
  • Content Count

    477
  • Joined

  • Last visited

Community Reputation

97 Обычный

About snn_krs

  • Rank
    Постоялец

Информация

  • Город
    Краснодар

Электроника

  • Стаж в электронике
    Более 20 лет
  • Сфера радиоэлектроники
    микроконтроллеры
  • Оборудование
    Осциллограф, мультиметр

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Не вижу включения PLL /* Enable PLL */ RCC->CR |= RCC_CR_PLLON; Перед строкой
  2. У вас включена опция линковщика подключения библиотек для работы с числами с плавающей точкой. В файле *.lss можно увидеть кучу лишних функций. В AS 7 отключается в таком месте. Снимите галочку и пересоберите проект.
  3. Если без них работает, значит можно убрать. В генераторе не видно настройки порта В на выходы. После сброса это входы. Можете посмотреть исходники они находятся в папке - arduino-1.8.3\hardware\arduino\avr\cores\arduino\wiring_pulse.c Функция pulseInLong полностью на С.
  4. Если вы будете на вход ставить кнопку на плюс, то надо резистор на землю ставить. Если на вход подавать сигнал с переключающегося выхода МС, то подтягивать не надо. Если будете подавать сигнал с выхода ОК, надо подтяжку к плюсу.
  5. Конечно ошибся. Скопировал не ту функцию. Так как у ТС не работает функция pulseInLong, то и хотел чтобы он проверил работу функции pulseIn с запретом прерываний.
  6. Попробуйте так unsigned long n1, n2; // ... noInterrupts(); n1 = pulseInLong( IN_1, HIGH, 100000UL ); n2 = pulseInLong( IN_2, HIGH, 100000UL ); interrupts(); // if()
  7. Попробуйте вместо функции pulseIn использовать функцию pulseInLong.
  8. Сброс обычно идет нулем. Поменяйте местами команды.
  9. Обычно компилятор помещает начальные значения для глобальных переменных в таблицу инициализации во флэш. При запуске программы (перед вызовом main()) все переменные инициализируются из этой таблицы, в том числе и строки.
  10. Это не создание копии в ОЗУ, а заполнение одного уже созданного буфера. Serial.println создает каждый раз новый буфер, но не освобождает его.
  11. Компилятор для каждой строки создает копию в ОЗУ, хотя можно использовать один буфер. Попробуйте так: char buf[100]; ... // Serial.println("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif11\",\"visible\":true}>ET"); printf( buf, "ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif11\",\"visible\":true}>ET"); Serial.println(buf); Замените все Serial.println(...) соответствующими строками.
  12. Сдаваться не надо. Контроллер всегда запускается на внутреннем генераторе, поэтому уберите ClockInit(). Запустите отладчик (Debug) и в пошаговом режиме посмотрите, что выполняется. В режиме отладки можно посмотреть все регистры. Задержка у вас стоит очень маленькая, 40000 при частоте 8 МГц это около 5 мС. В режиме отладки видно без светодиода, что выход изменяет состояние. Сам пишу в Кейле поэтому по IAR подсказать не смогу.
  13. У меня старая дисковери 407, все читается. Драйвер установился, видно ДФУ устройство, ВИД и ПИД СТМовские, но Программер его не видит
  14. В счетчиках используются специализированные МС. Я пробовал ADE7758 - 6 АЦП 24 бит, 3 на ток и 3 на напряжения. Выдает все что угодно. Для обработки использовал STM32F030, для моих целей вполне хватало.
  15. Возможно не правильно подключаете ST-LINK. При обычной защите считать информацию о чипе можно.
×
×
  • Create New...