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

-JonnS-

Участник
  • Постов

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

  • Посещение

Весь контент -JonnS-


  1. ucGoZilla

    Win8 отказываеть устанавливать драйвер если он не подписан (типа защита), вылетая при етом с ошибкой. Установить все таки неподписанной драйвер можно с помощю процедурой описанной здесь.
  2. CCM-Ram у F4xx вроди как 64k. Пример под F4 discovery писался, sorry не уточнил.
  3. Я делал так: в 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 Надеюсь поможет.
  4. Наводки stm32f405

    В вложении мой код обработки клаву на прерываниях. Различает 3 типа нажатия нормальное: <1сек; длиное: >1сек и сверхдлиное: >2сек. Попутно озвучиваем нажатой кнопки дополнительним таймером. Выдрал из проекта, досконально не проверял, может что не хватает. KBD.rar
  5. Для симуляции в Кеил сделал Flash.ini. MK STM32f100RB. Надеюсь поможеть. Flash.rar
  6. Делал ремап 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 настраиваются макросами трудно выдрать из кода, если надо постараюсь сделать)
  7. Скрещивал STM32discovery с ADS8361 (20бит слово). SPI процесора в slave. Управляющие сигналы генерятся таймерами а так же и тестовой сигнал проверки считивания. Результат через DMA в кольцевой буффер. До подключения самого АЦП руки не дошли, но с тест сигналов работало на ура. Код и осцилограммы выложил тут. Надеюсь поможет.
  8. Тут выкладывал код считывания данных от АЦП ADS8361 через SPI в slave mode.
  9. Ini фаил присоединяется в: "Project"->"Option for target..."->"Debug" в поле "Initializatoin File:" В аттаче ini файл для STM32F1xx, надеюсь поможет. Flash.rar
  10. stm32f4xx

    Посмотрите здесь: Док1, Док2, Док3, Док4, Док5
  11. Может что не догоняю но в "RM0008 REFERENCE MANUALS" (стр 193) указано: DMA2 Channel3 global interrupt -> Position: 58, Адрес: 0x0000_0128 а скажем для DMA1 Channel3 global interrupt -> Position: 13, Адрес: 0x0000_0074 Ето разные прерывания.
  12. По моему опечатка: DMA2Channel3_IRQHandler()
  13. МК на STM32VLDISKOVERY (STM32F100RB) программировал, и дебажил успешно J-Link7 по SWD (4-мя проводами), отключив при етом установленим на плате ST-LINK. Кеил v4.14. Думаю с MT-link разницы не будет.
  14. STM32 DAC

    В примерчике генерим 1кГц STM32F100RB (плата Discovery) по прерывания таймера6. (DDS алгоритм) Побочно "Hello word" на граф. дисплее SED1335. Кеил v4.14, надеюсь поможет. STM32_Keil_Timer.rar
  15. Для друга делал доку в скринах как заливается прошивка в деббагер, надеюсь поможет. Programming_AT91SAM7S64.rar
  16. STM32: Отладка в RAM

    Возможно что надо еще разписать и периферию в ini файле: MAP 0x40000000, 0x40023400 read write // Peripferial Вобщем лучше отключить "go main" запустить симуляцию, смотреть по асм. Прилагаю свой ram.ini Ps Добавить в "Option for Target"->"C/C++"->"Define" VECT_TAB_SRAM RAM.rar
  17. STM32: Отладка в RAM

    Наверно надо добавить в RAM.INI строку: xPSR = 0x1000000; Подробнее здесь
  18. Тут выкладывал два проекта моргалок для STM32, плата STM32VLDISCOVERY. Может поможет.
  19. Прилагаю вариант реализации кот. почти повторяет алгоритм предложеным rezident. Различает три состояния: нормальное когда кнопка нажата до 1сек, длиное >1сек и <2сек, и сверхдлиное >2сек. Попутно озвучивает нажатие кнопок. CV 2.03.9, Proteus 7.6 SP0 KbdLCD.rar
  20. Тоже его ловил в ошибках. Ползовался в самом начале проекта, как бы сгенерировать "рыбу", потом перепроверял ВСЕ что сгенерил волшебник. Помощ в основном, чтоб не забыть проинициализировать что небуть. :laughing:
  21. 2 goodking В вашем коде не видна продедура инициализации МК. Правильно ли настроены порты MK? Crossbar включен? Раз пишете, потом читаете с порт P4 (DATA) надо менять настройки порта, на вход(выход). Чтоб легхче сделать инициализацию МК лучше использовать Config Wizard с сайта производителя. В проект правильно ли указана частота на кот. работает МК?
  22. Настораживает конденсатор C21 0.47мкф установлений на шину C2D, лучше убрать. Подключал 8051F410 по схемме в аттач. работало без проблем. Не думаю что есть особая разница при подключения F587
  23. C8051F352 на KEILе

    Надо подключить дополнительний Си файл в проект, в котором обявить данных. \\ const.c char code aa[] = "Hello"; char code bb[] = "Boys"; .... В опциях линкера Project -> Option for Target'Target 1' -> BL51 Locate, в поле "code" указать адрес "?CO?const(7B00h)".
  24. Самодельный PicKit2

    Если еще актуально, плата для PicKit2 в Dip-e Брал Здесь PICkit_2.zip
×
×
  • Создать...