Jump to content

    

Edit2007

Участник
  • Content Count

    420
  • Joined

  • Last visited

Community Reputation

0 Обычный

1 Follower

About Edit2007

  • Rank
    Местный

Recent Profile Visitors

3301 profile views
  1. Значит ваш девайс должен иметь подключение к этой точке, чтоб формировать сигнал не относительно левой пятки.
  2. Если вы из KEIL хотите запрограммировать EEPROM то смотреть надо в сторону создания *.flm файлов (это по сути алгоритм загрузки файла в МК). Но могут быть проблемы с верификацией записи.
  3. Напряжение 3,3В по отношению к какому выводу должно быть, как вы думаете?
  4. Все правильно, я немного ступил. Массив размещался в области FLASH, а прагма позволяла использовать его как обычный массив для чтения, при этом начальная инициализация массива не проводилась. Но на сайте KEIL подход как у вас, через секцию. https://www.keil.com/support/man/docs/armcc/armcc_chr1359124243221.htm
  5. сделать указатель на объект. Ну тогда получается что вся область ОЗУ должна инициализироваться нулем. Область глобальных переменных - инициализируется в обязательном порядке по стандарту. Область стека и куча - по усмотрению разработчиков (что в библиотеках начальной инициализации указано).
  6. я делал так (для Keil 4) // pragma запрещает начальную инициализацию #pragma arm section zidata = "non_initialized" unsigned char SensorRecordsArray[4096]; #pragma arm section zidata
  7. Если объект создается динамически (через new) то члены класса будут проинициализированы только конструктором. Если объект создается статически, тогда опции pragma (или секция no_init для ARM). Все будет зависеть от компилятора (и линкера). Как вариант массив внутри класса создавать динамически - тогда он тоже не будет инициализирован.
  8. Это если вам не говорят, что должна быть защита от дурака, а на замечание: "может дураков к системе не подпускать" - лишь улыбаются. У жены на работе техпроцесс по термообработке чуть ли не в картинках стали требовать - это типа уточнение документации 10-летней давности.
  9. Как нет источника питания?? А справа от батареи. Ведь прям так и написано "ИСТОЧНИК ПИТАНИЯ"
  10. Работаю через Keil4 - проблем нет,за редким исключением - но это скорее KEIL виноват, виснет.
  11. Прочитал статью - с описанием DMA - согласен полностью. За 10 лет нормального описания нет. Все остальное - спорно. Связка Таймер - АЦП используется, сбоев и рандомных прерываний нет. (строго от от таймера и АЦП) То что в статье сказано "подошел только отечественный «ChipProg-481» фирмы «Phyton»." - без комментариев. У меня Jlink связывается с МК без проблем. PS Ценник - для меня не принципиальный, контора закупает металокерамику, а не пластик. Есть аккуратно разложенные грабли - совмещение выводов JTAG и GPIO.
  12. 1.Тактирование МК должно быть от внешних стабильных источников (кварцевых резонаторов). У внутренних генераторов может быть раброс, из-за чего не совпадают скорости. 2. Обязательные резисторы 120 Ом (хотя бы 1 на короткой линии до 1 метра). 3.На передающем МК посмотреть, какая ошибка возникает в контроллере CAN.
  13. RCC_Clocks.HCLK_Frequency на момент инициализации системного таймера чему равна? Последовательность должна быть такой: Разгон ядра, Обновление данных о частоте тактирования (RCC_Clocks.HCLK_Frequency), Инициализация системного таймера. либо RCC_Clocks.HCLK_Frequency должна быть константной величиной, равной частоте работы ядра в Гц. Если порядок нарушен - частота прерываний системного таймера, как верно заметили, будет непредсказуемой.
  14. Может микросхемы тупо на 180 градусов развернуты? На фото ключ на плате не нарисован (не виден).
  15. Зависит от того, что отлаживаете. Например, Silabs x51 переменные можно менять только при остановке программы. А в cortex-M3 позволяет и без остановки программы это делать. Главное добавить их (переменные) в окно просмотра.