-JonnS-
Участник-
Постов
72 -
Зарегистрирован
-
Посещение
Весь контент -JonnS-
-
Win8 отказываеть устанавливать драйвер если он не подписан (типа защита), вылетая при етом с ошибкой. Установить все таки неподписанной драйвер можно с помощю процедурой описанной здесь.
-
Я делал так: в Scatter-файл обявляю: LR_IRAM2 0x10000000 0x00010000 { RW_IRAM2 0x10000000 0x00010000 { *(CCM_RW) .ANY (+RW) } } в "main.c" #pragma arm section rwdata = "CCM_RW" uint8_t h[] = {1, 2, 3}; #pragma arm section rwdata #pragma arm section zidata = "CCM_RW" SAMPLE M_Buf[COUNT]; #pragma arm section zidata Надеюсь поможет.
-
Наводки stm32f405
-JonnS- ответил stm32f4 тема в ARM, 32bit
В вложении мой код обработки клаву на прерываниях. Различает 3 типа нажатия нормальное: <1сек; длиное: >1сек и сверхдлиное: >2сек. Попутно озвучиваем нажатой кнопки дополнительним таймером. Выдрал из проекта, досконально не проверял, может что не хватает. KBD.rar -
Для симуляции в Кеил сделал Flash.ini. MK STM32f100RB. Надеюсь поможеть. Flash.rar
-
Делал ремап SPI1 на STM32F1 (плата Discovery). Работает мастером, только выход (вход не тестил из за ненадобностю -> LCD) Инициализация: void SPI1Config(void) { RCC->APB2ENR |= RCC_APB2ENR_SPI1EN; // SPI1 clock enable SPI1->CR1 &= ~SPI_CR1_SPE; // SPI1 disable SPI1->CR1 &= ~SPI_CR1_BIDIMODE; // 2-line unidirectional data mode selected SPI1->CR1 |= SPI_CR1_BIDIOE; // Output enable (transmit and receive mode) SPI1->CR1 &= ~SPI_CR1_DFF; // data frame format = 8bit SPI1->CR1 &= ~SPI_CR1_LSBFIRST; // MSB transmitted first SPI1->CR1 &= ~SPI_CR1_RXONLY; // Output enable (transmit and receive mode) SPI1->CR1 &= ~SPI_CR1_SSM; // NSS signal is driven low when the master starts the communication SPI1->CR1 |= SPI_CR1_MSTR; // configure as master SPI1->CR1 |= (SPI_CR1_BR_1+SPI_CR1_BR_0); // Set Baud rate control to PClc/16 (24Mhz/8 = 750kHz) SPI1->CR1 |= SPI_CR1_CPOL; // CPOL = 1 (Figure 239. Data clock timing diagram) see p.660 in RM SPI1->CR1 |= SPI_CR1_CPHA; // CPHA = 1 SPI1->CR2 |= SPI_CR2_SSOE; // Enable NSS output for master mode SPI1->CR1 |= SPI_CR1_SPE; // SPI1 enable } Clock & Remap: RCC->APB2ENR |= RCC_APB2ENR_AFIOEN; // Enable Clock to alternate function GPIO. AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE; // JTAG-DP Disabled and SW-DP Enabled AFIO->MAPR |= AFIO_MAPR_SPI1_REMAP; // Remap SPI1 pins (using JTAG pins) Надо MOSI & SCK настроить в "alternate function mode", MISO как "Input" (У меня GPIO настраиваются макросами трудно выдрать из кода, если надо постараюсь сделать)
-
Скрещивал STM32discovery с ADS8361 (20бит слово). SPI процесора в slave. Управляющие сигналы генерятся таймерами а так же и тестовой сигнал проверки считивания. Результат через DMA в кольцевой буффер. До подключения самого АЦП руки не дошли, но с тест сигналов работало на ура. Код и осцилограммы выложил тут. Надеюсь поможет.
-
STM32 SPI Slave - нужна помощь
-JonnS- ответил A.Lex тема в ARM, 32bit
Тут выкладывал код считывания данных от АЦП ADS8361 через SPI в slave mode. -
Ini фаил присоединяется в: "Project"->"Option for target..."->"Debug" в поле "Initializatoin File:" В аттаче ini файл для STM32F1xx, надеюсь поможет. Flash.rar
-
Может что не догоняю но в "RM0008 REFERENCE MANUALS" (стр 193) указано: DMA2 Channel3 global interrupt -> Position: 58, Адрес: 0x0000_0128 а скажем для DMA1 Channel3 global interrupt -> Position: 13, Адрес: 0x0000_0074 Ето разные прерывания.
-
По моему опечатка: DMA2Channel3_IRQHandler()
-
МК на STM32VLDISKOVERY (STM32F100RB) программировал, и дебажил успешно J-Link7 по SWD (4-мя проводами), отключив при етом установленим на плате ST-LINK. Кеил v4.14. Думаю с MT-link разницы не будет.
-
STM32 DAC
-JonnS- ответил Nikolaevich тема в ARM, 32bit
В примерчике генерим 1кГц STM32F100RB (плата Discovery) по прерывания таймера6. (DDS алгоритм) Побочно "Hello word" на граф. дисплее SED1335. Кеил v4.14, надеюсь поможет. STM32_Keil_Timer.rar -
China-Link, Вариант отладчика из Китая
-JonnS- ответил krestnick тема в Отладочные платы
Для друга делал доку в скринах как заливается прошивка в деббагер, надеюсь поможет. Programming_AT91SAM7S64.rar -
Возможно что надо еще разписать и периферию в ini файле: MAP 0x40000000, 0x40023400 read write // Peripferial Вобщем лучше отключить "go main" запустить симуляцию, смотреть по асм. Прилагаю свой ram.ini Ps Добавить в "Option for Target"->"C/C++"->"Define" VECT_TAB_SRAM RAM.rar
-
Наверно надо добавить в RAM.INI строку: xPSR = 0x1000000; Подробнее здесь
-
Прерывания STM32
-JonnS- ответил Brain13 тема в ARM, 32bit
Тут выкладывал два проекта моргалок для STM32, плата STM32VLDISCOVERY. Может поможет. -
нажатие кнопки
-JonnS- ответил romez777 тема в Программирование
Прилагаю вариант реализации кот. почти повторяет алгоритм предложеным rezident. Различает три состояния: нормальное когда кнопка нажата до 1сек, длиное >1сек и <2сек, и сверхдлиное >2сек. Попутно озвучивает нажатие кнопок. CV 2.03.9, Proteus 7.6 SP0 KbdLCD.rar -
инициализация графического LCD
-JonnS- ответил goodking тема в Программирование
Тоже его ловил в ошибках. Ползовался в самом начале проекта, как бы сгенерировать "рыбу", потом перепроверял ВСЕ что сгенерил волшебник. Помощ в основном, чтоб не забыть проинициализировать что небуть. :laughing: -
инициализация графического LCD
-JonnS- ответил goodking тема в Программирование
2 goodking В вашем коде не видна продедура инициализации МК. Правильно ли настроены порты MK? Crossbar включен? Раз пишете, потом читаете с порт P4 (DATA) надо менять настройки порта, на вход(выход). Чтоб легхче сделать инициализацию МК лучше использовать Config Wizard с сайта производителя. В проект правильно ли указана частота на кот. работает МК? -
Настораживает конденсатор C21 0.47мкф установлений на шину C2D, лучше убрать. Подключал 8051F410 по схемме в аттач. работало без проблем. Не думаю что есть особая разница при подключения F587
-
Надо подключить дополнительний Си файл в проект, в котором обявить данных. \\ const.c char code aa[] = "Hello"; char code bb[] = "Boys"; .... В опциях линкера Project -> Option for Target'Target 1' -> BL51 Locate, в поле "code" указать адрес "?CO?const(7B00h)".
-
Если еще актуально, плата для PicKit2 в Dip-e Брал Здесь PICkit_2.zip