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

snn_krs

Members
  • Постов

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

  • Посещение

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

  1. snn_krs

    DEBUG без кварца

    Мк всегда запускается на внутреннем генераторе. Далее есть файл startup_stm32f10x_md.s в нем есть вызов функции SystemInit. Эта функция находится в файле system_stm32f10x.c и в ней выбирается генератор и частота. Отладчику до лампочки на каком генераторе и частоте работает МК.
  2. snn_krs

    DEBUG без кварца

    Процессор всегда запускается на внутреннем генераторе HSI и в этом нет никакой ошибки. Далее вы сами должны переключиться на HSE генератор. Вы сами должны проверять на каком генераторе и на какой частоте работает проц.
  3. snn_krs

    IAR vs KEIL

    В файле STM32F4xx_DSP_StdPeriph_Lib_V1.0.1.zip. Скирдую все старье. Файла .с может не быть. CMSIS пишет фирма ARM, все остальные их используют. Не знаю как у IAR, а у Keil на сайте есть все старые версии.
  4. snn_krs

    IAR vs KEIL

    CMSIS версии 2.1 CMSIS.ZIP
  5. DMA просто пересылает данные без всякого анализа. Возможно вам подойдет вариант с двойным буфером. В этом режиме два прерывания DMA по половинному и полному буферу. В обработчике ищите маркер и делаете, что надо. Необходимо еще прерывание от USART если передача закончилась до заполнения буфера.
  6. Есть флаг входа в прерывание по EXTI это в регистре EXTI_SR1. Его надо сбросить в прерывании командой типа TIM2_ClearFlag(TIM2_FLAG_UPDATE); Только для EXTI. Я пишу для STM32 в Кейле поэтому точно сказать не могу. Если этот флаг не сбросить прерывание будет вызываться постоянно. Почему у вас только два раза не знаю.
  7. Сброс флага прерывания по таймеру вижу, а по входу EXTI не заметил. В обработчике не делают такой большой код 8.5 сек. Лучше в обработчике по EXTI устанавливать флажок, а в основном цикле все действия.
  8. Вы передаете 4 байта а принимаете 3 байта. Попробуйте вставить пустое чтение Data = ADS1220ReceiveByte(); // Data = ADS1220ReceiveByte(); Data = (Data << 8) | ADS1220ReceiveByte(); Data = (Data << 8) | ADS1220ReceiveByte();
  9. Просто поставьте if ( ocr == 0 ) { PWM_PORT &= ~( 1 << PWM_PIN ); } else { ... }
  10. Спорить не буду, но ГУГЛ переводит так Системный банк 1 флэш-памяти не может быть записан прикладным программным обеспечением. Системная вспышка Банк памяти 2 может быть записан только с помощью встроенного программного обеспечения STMicroelectronics. Это для Н7 для других контроллеров можно писать куда угодно.
  11. В даташите на Н7 для записи во флэш есть такое System Flash memory bank 1 cannot be written by the application software. System Flash memory bank 2 can be written by STMicroelectronics secure firmware only. Тоесть в 1 - й мегабайт из приложения вообще писать нельзя, а во 2 -й только средствами STMicroelectronics. Возможно поэтому компилятор и не позволяет создавать не константы.
  12. Не знаю как в Ардуино, но в обработчиках прерываний нельзя ставить return;
  13. В Кейле если без указания адреса просто: const uint8_t tabl[ 72 ] = {...}; IAR тоже должен поддерживать такую запись.
  14. Запустите отладку и посмотрите в Меню -> Peripherals тоже должно бать окно периферии.
  15. Не сталкивался с такой проблемой. Возможно не все установлено в Кейле. Посмотрите в закладке Target должно быть окошко и в нет дажен быть файл .svd типа такого STM32F0x...svd. В нем описаны вся переферия для отладчика.
  16. Проверьте в свойствах проекта, какой выбран контроллер.
  17. А какой у вас контроллер ? Для Тини13 вектор прерывания по таймеру 0 не 5 а 3.
  18. У вас похоже неправильно прерывание объявлено TIMER0_OVF_vect обычно должно быть TIM0_OVF_vect
  19. Все правильно только не после 254 а после 255 будет обнуление. Скважность изменяется lev_ch = х; А вот частоту ШИМ можно только вместе с таймером.
  20. Похоже у вас в свойствах проекта выбран не STM32F030R8 а просто ARM поэтому отладчик и не видит периферии.
  21. Запуск из меню Debug или кнопка Затем запуск Debug -> Run. Справа окно с периферией. Список всех регистров для установки выхода в ODR открываем + и ставим галочку для любого выхода. Здесь можно установить другие параметры, но для этого надо читать даташит.
  22. Отладчик встроенный в Кейл. При подаче на вход 3.3 в он тутже показывает галочку на этом пине.
  23. Легче всего проверять такие вещи в отладчике. Мышкой включаешь любой выход и мультиметром проверяешь что на нем.
  24. Надеюсь не лампочка а светодиод с резистором. Этот выход проверял ?
  25. Напиши какой порт ( буква А...) и какие выходы ( 0.. 15 ) ты проверял.
×
×
  • Создать...