Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: STM32 новичку в ARM что к чему

Вт авг 01, 2017 20:13:39

Кстати, решил брать этот анализатор, так же уткнулся в ограничения... https://ru.aliexpress.com/item/Kingst-L ... 396.0TSocH

This is out of my budget, как говорится. Загнули цену, однако, последователи товарища Мао.
Мне и chaineae пока хватает для эпизодических поисков при затыках.

Re: STM32 новичку в ARM что к чему

Вт авг 01, 2017 20:29:55

Ничего дешевле, с нужным параметрами, не наблюдаю.
Дорого, а что делать. Недавно обновил осцилл - продал рЫгол 1052, добавил и приобрел 1054...

Re: STM32 новичку в ARM что к чему

Вт авг 08, 2017 16:25:16

Подскажите, можно ли подключить два процессора STM32 другом с другом по FSMC, т.е что бы один был как бы ведомый?

Re: STM32 новичку в ARM что к чему

Вт авг 08, 2017 16:49:00

На СТМ можно всё что не запрещено. А не жирно по пинам будет?

Re: STM32 новичку в ARM что к чему

Вт авг 15, 2017 23:32:24

Ничего дешевле, с нужным параметрами, не наблюдаю.



а такой https://ru.aliexpress.com/item/Kingst-L ... 46572.html

Re: STM32 новичку в ARM что к чему

Ср авг 16, 2017 16:50:41

нигде не нашел описание максимальной частоты генерации сигнала встроенным в F103 ЦАП-ом. и еще такой вопрос можно ли на нем построить модуль развертки для аналогового осциллографа?

Re: STM32 новичку в ARM что к чему

Пт авг 18, 2017 13:42:09

а такой


Фраза
с нужным параметрами
, вам ни о чем не говорит?

Re: STM32 новичку в ARM что к чему

Сб авг 19, 2017 14:37:22

Уважаемые знатоки ARM! Помогите пожалуйста решить проблему с запуском LCD дисплея по FSMC.
Проблема заключается в настройке FSMC на stm32f407zet6.
Вывод CS дисплея подключен к NE4(PG12), вывод RS к A6(PF12).
Проблема именно в FSMC, потому что ногодрыгом дисплей запустился.
Прощупывая управляющие пины осциллографом определил, что причина в сигнале CS (точнее в его отсутствии). При настройке ноги CS(PG12) на альтернативную функцию при отправке данных на этой линии никаких фронтов, на линии постоянно логическая 1.
Все остальные же сигналы работают как надо. При отключении вывода CS от шины FSMC и подключении его к GND дисплей оживает.

Основные вопросы:

1. Правильно ли я определил адреса для данных и команд?
//LCD RS подключен к A6
#define LCD_DAT *(uint16_t*)0x60000080
#define LCD_CMD *(uint16_t*)0x60000000

2. Почему при записи по этим адресам на линии PG12 отсутствуют управляющие импульсы (постоянно лог. 1)?

3. Правильно ли выбрал банк?
fsmc.FSMC_Bank = FSMC_Bank1_NORSRAM4;
FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE);
Вложения
FSMC.txt
(5.01 KiB) Скачиваний: 234

Re: STM32 новичку в ARM что к чему

Сб авг 19, 2017 15:21:15

1. Правильно ли я определил адреса для данных и команд?
//LCD RS подключен к A6
#define LCD_DAT *(uint16_t*)0x60000080
#define LCD_CMD *(uint16_t*)0x60000000

Нет, конечно. И лучше добавить volatile иначе если писать по одному адресу несколько раз подряд компилятор может оставить только последнюю запись.
Код:
#define LCD_DAT ((volatile uint16_t*)0x60000040)
#define LCD_CMD  ((volatile uint16_t*)0x60000000)


3. Правильно ли выбрал банк?
fsmc.FSMC_Bank = FSMC_Bank1_NORSRAM4;
FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE);

У FSMC выведено 26 линий адреса которые позволяют адресовать 64MB, но в банке 256MB, потому можно прицепить 4 микросхемы памяти и тогда роль физически отсутствующих A27:A26 будут выполнять четыре сигнала NE. Когда ты включаешь FSMC_Bank1_NORSRAM4 то чтобы на NE4 увидеть не только единицу по идее нужно писать по адресу в котором A27:A26 сами оба в единице(0x6С000000). Это в теории, я лично всегда выбирал только NORSRAM1...

Re: STM32 новичку в ARM что к чему

Сб авг 19, 2017 15:55:48

Вряд ли стоит писать 0x60000040 вместо 0x60000080, напомню у меня RS подключен к A6. Там же вроде надо сдвигать влево на один бит?
По крайней мере претензий к сигналу на ноге RS никаких нет, осцилом также прощупывал. Когда команда 0, а когда данные 1.
C volatile тоже самое.

А вот на счёт выбора банка не очень понятно. Возможности подключить к NE1 нет :( , железно висит на NE4.

Демоплата https://ru.aliexpress.com/item/STM32F40 ... st=ae803_3

Добавлено after 15 minutes 58 seconds:
Reflector, огромное спасибо!
По твоему совету пишу по адресам 0x6C000080 и 0x6C000000 и всё работает!

Re: STM32 новичку в ARM что к чему

Сб авг 19, 2017 16:02:30

Вряд ли стоит писать 0x60000040 вместо 0x60000080, напомню у меня RS подключен к A6. Там же вроде надо сдвигать влево на один бит?

Точно, только сдвигать нужно не всегда, просто я последний раз цеплял экран с 8-ми битной шиной, там никаких сдвигов нет.

Re: STM32 новичку в ARM что к чему

Сб авг 19, 2017 16:06:16

Да, забыл указать, 16 бит подключение

Re: STM32 новичку в ARM что к чему

Пт сен 01, 2017 13:43:44

Народ, я в STM32 "0", подскажите готвые проекты под STM32F103C8T6 под Keil - https://arduino-ua.com/prod1328-plata-r ... igyraciya- чтобы можно было запустить, прошить, и заработало, а потом разобраться, как оно работает.

Также подскажите, как подключить к платке ST-Link - https://arduino-ua.com/prod920-programm ... tlink-mini - чтобы я не напутал.

Re: STM32 новичку в ARM что к чему

Пт сен 01, 2017 16:17:57

Для начала смотрите http://purebasic.mybb.ru/viewtopic.php?id=575

Готовые проекты
http://purebasic.mybb.ru/viewforum.php?id=6
http://www.avislab.com/blog/stm32-list_ru/

Выводы SWDIO, GND, SWCLK, 3.3 ST-Link нужно подключить к DIO, GND, DCLK, 3.3.

Re: STM32 новичку в ARM что к чему

Сб сен 02, 2017 08:48:09

А не подскажите как запустить передачу из памяти в память через DMA. Например, есть два глобально определённых буфера по 100 байт и надо из одного в другой скопировать. А то везде примеры, как из памяти в периферию и наоборот.

Код:
uint8_t in[100];
uint8_t out[100] = "qwertyuiop1234567890";


void DMA_ini(void)
{
      
   DMA_InitTypeDef dma;
   
   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA1, ENABLE);

   
   dma.DMA_Channel = DMA_Channel_0;
  dma.DMA_PeripheralBaseAddr = (uint32_t)out;
  dma.DMA_Memory0BaseAddr = (uint32_t)in;
  dma.DMA_DIR = DMA_DIR_MemoryToMemory;
  dma.DMA_BufferSize = 100;
  dma.DMA_PeripheralInc = DMA_PeripheralInc_Enable;
  dma.DMA_MemoryInc = DMA_MemoryInc_Enable;
  dma.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
  dma.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
  dma.DMA_Mode = DMA_Mode_Normal;
  dma.DMA_Priority = DMA_Priority_VeryHigh;
  dma.DMA_FIFOMode = DMA_FIFOMode_Disable;
  dma.DMA_FIFOThreshold = DMA_FIFOThreshold_Full;
  dma.DMA_MemoryBurst = DMA_MemoryBurst_Single;
  dma.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;
  DMA_Init(DMA1_Stream0, &dma);
   
   DMA_ITConfig(DMA1_Stream0, DMA_IT_TC, ENABLE);
   NVIC_EnableIRQ(DMA1_Stream0_IRQn);
}


Пытаюсь инициировать передачу строкой DMA_Cmd(DMA1_Stream0, ENABLE);
Но в прерывание так и не попадаю, приёмный буфер, также, остаётся пустым.
Спасибо!

Добавлено after 7 minutes 40 seconds:
И ещё бы научится через DMA c gpio и с fsmc работать. Я правильно понимаю, что с точки зрения контроллера DMA это не периферия и настраивать в этих случаях его надо для обмена DMA_DIR_MemoryToMemory?

Re: STM32 новичку в ARM что к чему

Сб сен 02, 2017 08:58:41

pinchemierda, RM начать читать не судьба?
Для начала камень озвучить не мешало бы...

Re: STM32 новичку в ARM что к чему

Сб сен 02, 2017 09:18:06

RM читаю, не эффективно в моём случае))
С микроконтроллерами год знаком. Подобного рода литература (RM), да и вообще, технический английский для меня новьё.
Без помощи, без примеров, опираясь только на RM, согласитесь, начинающему осваивать stm32 не просто.
(пример не нашёл, плохо искал может, каюсь)
До этого во всём сам разбирался. Сюда пишу уж в крайних случаях.

Камень stm32f407zet6

Re: STM32 новичку в ARM что к чему

Сб сен 02, 2017 09:20:49

Код:
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA1, ENABLE);

F4 в режиме M2M работает только с DMA2.

И ещё бы научится через DMA c gpio и с fsmc работать. Я правильно понимаю, что с точки зрения контроллера DMA это не периферия и настраивать в этих случаях его надо для обмена DMA_DIR_MemoryToMemory?

Если выводишь из памяти в GPIO или FSMC просто на максимальной скорости, то да, будет M2M, но если делать то же самое, но уже по таймеру, то нужен MemToPeriph.

Re: STM32 новичку в ARM что к чему

Сб сен 02, 2017 09:31:12

Reflector, как всегда огромное спасибо тебе! Не в первый раз выручаешь))) Заработало

Добавлено after 1 minute 59 seconds:
F4 в режиме M2M работает только с DMA2.

Как уж я так просмотрел то, блин...

Re: STM32 новичку в ARM что к чему

Пт окт 13, 2017 08:56:06

Добрый день, подскажите пожалуйста в чем принципиальное отличие external clock mode 1 от external clock mode 2 кроме того, что при использовании ETR можно включить предделитель.
Ответить