snn_krs
Members-
Постов
568 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Весь контент snn_krs
-
Мк всегда запускается на внутреннем генераторе. Далее есть файл startup_stm32f10x_md.s в нем есть вызов функции SystemInit. Эта функция находится в файле system_stm32f10x.c и в ней выбирается генератор и частота. Отладчику до лампочки на каком генераторе и частоте работает МК.
-
Процессор всегда запускается на внутреннем генераторе HSI и в этом нет никакой ошибки. Далее вы сами должны переключиться на HSE генератор. Вы сами должны проверять на каком генераторе и на какой частоте работает проц.
-
В файле STM32F4xx_DSP_StdPeriph_Lib_V1.0.1.zip. Скирдую все старье. Файла .с может не быть. CMSIS пишет фирма ARM, все остальные их используют. Не знаю как у IAR, а у Keil на сайте есть все старые версии.
-
DMA просто пересылает данные без всякого анализа. Возможно вам подойдет вариант с двойным буфером. В этом режиме два прерывания DMA по половинному и полному буферу. В обработчике ищите маркер и делаете, что надо. Необходимо еще прерывание от USART если передача закончилась до заполнения буфера.
-
Есть флаг входа в прерывание по EXTI это в регистре EXTI_SR1. Его надо сбросить в прерывании командой типа TIM2_ClearFlag(TIM2_FLAG_UPDATE); Только для EXTI. Я пишу для STM32 в Кейле поэтому точно сказать не могу. Если этот флаг не сбросить прерывание будет вызываться постоянно. Почему у вас только два раза не знаю.
-
Сброс флага прерывания по таймеру вижу, а по входу EXTI не заметил. В обработчике не делают такой большой код 8.5 сек. Лучше в обработчике по EXTI устанавливать флажок, а в основном цикле все действия.
-
Вы передаете 4 байта а принимаете 3 байта. Попробуйте вставить пустое чтение Data = ADS1220ReceiveByte(); // Data = ADS1220ReceiveByte(); Data = (Data << 8) | ADS1220ReceiveByte(); Data = (Data << 8) | ADS1220ReceiveByte();
-
Просто поставьте if ( ocr == 0 ) { PWM_PORT &= ~( 1 << PWM_PIN ); } else { ... }
-
Спорить не буду, но ГУГЛ переводит так Системный банк 1 флэш-памяти не может быть записан прикладным программным обеспечением. Системная вспышка Банк памяти 2 может быть записан только с помощью встроенного программного обеспечения STMicroelectronics. Это для Н7 для других контроллеров можно писать куда угодно.
-
В даташите на Н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. Возможно поэтому компилятор и не позволяет создавать не константы.
-
Не знаю как в Ардуино, но в обработчиках прерываний нельзя ставить return;
- 8 951 ответ
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
В Кейле если без указания адреса просто: const uint8_t tabl[ 72 ] = {...}; IAR тоже должен поддерживать такую запись.
-
Запустите отладку и посмотрите в Меню -> Peripherals тоже должно бать окно периферии.
-
Не сталкивался с такой проблемой. Возможно не все установлено в Кейле. Посмотрите в закладке Target должно быть окошко и в нет дажен быть файл .svd типа такого STM32F0x...svd. В нем описаны вся переферия для отладчика.
-
Проверьте в свойствах проекта, какой выбран контроллер.
-
А какой у вас контроллер ? Для Тини13 вектор прерывания по таймеру 0 не 5 а 3.
-
У вас похоже неправильно прерывание объявлено TIMER0_OVF_vect обычно должно быть TIM0_OVF_vect
-
Все правильно только не после 254 а после 255 будет обнуление. Скважность изменяется lev_ch = х; А вот частоту ШИМ можно только вместе с таймером.
-
Похоже у вас в свойствах проекта выбран не STM32F030R8 а просто ARM поэтому отладчик и не видит периферии.
-
Запуск из меню Debug или кнопка Затем запуск Debug -> Run. Справа окно с периферией. Список всех регистров для установки выхода в ODR открываем + и ставим галочку для любого выхода. Здесь можно установить другие параметры, но для этого надо читать даташит.
-
Отладчик встроенный в Кейл. При подаче на вход 3.3 в он тутже показывает галочку на этом пине.
-
Легче всего проверять такие вещи в отладчике. Мышкой включаешь любой выход и мультиметром проверяешь что на нем.
-
Надеюсь не лампочка а светодиод с резистором. Этот выход проверял ?
-
Напиши какой порт ( буква А...) и какие выходы ( 0.. 15 ) ты проверял.