Страница 398 из 446

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

Добавлено: Пт янв 06, 2023 20:12:33
ARV
как сильно помогла эта картинка! вот просто даже лучше подорожника!

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

Добавлено: Пт янв 06, 2023 20:16:45
VladislavS
Я же обещал скачать и выложить, ссылка там же.

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

Добавлено: Пт янв 06, 2023 20:23:55
ARV
размер-то у нее какой? ваша картинка реально помогла - до сих пор у мен качается без разрыва - уже 840М скачалось... сколько еще?

Добавлено after 33 seconds:
о!!! закачалось вроде...

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

Добавлено: Пт янв 06, 2023 20:28:00
Eddy_Em
Ну и G0! Читаю, сколько там возможностей в USART, и тихо охреневаю! Ну и вижу, что просто в тупую перенести настройки с F0 не выйдет (особенно, похоже, с DMA придется помучиться как на Tx, так и на Rx - с прерыванием по '\n').
Похоже, эта штука умеет автоматом в RS485 с адресацией, а также в модбас!

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

Добавлено: Пт янв 06, 2023 20:31:17
VladislavS
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4349420#p4349420"]т.к. все равно компилировать и отлаживать надо в консоли - так на порядки удобней.[/uquote]Ну да, конечно. Вот так отлаживать вообще неудобно.
СпойлерИзображение

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

Добавлено: Пт янв 06, 2023 20:32:08
Eddy_Em
VladislavS, вантузоидный путь меня совершенно не устраивает. Гниль это и болото.
Нужен контроль всего. Ну и, конечно же, свободный софт. Даже если я и не полезу в эти исходники, мне греет душу, что они лежат у меня на диске.

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

Добавлено: Пт янв 06, 2023 20:52:44
VladislavS
Ну, не всем же везёт pll неделю запускать...

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

Добавлено: Пт янв 06, 2023 20:53:29
DX168B
[uquote="VladislavS",url="/forum/viewtopic.php?p=4349490#p4349490"]Ну да, конечно. Вот так отлаживать вообще неудобно.
СпойлерИзображение
[/uquote]
О, IAR. Наши люди. :beer:

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

Добавлено: Пт янв 06, 2023 20:57:13
Eddy_Em
VladislavS, ничего, я еще теперь 2 недели с усартом биться буду ☺
Вот, начал было:

Код: Выделить всё

static int txrdy = 1;

void usart3_setup(){
    RCC->IOPENR = RCC_IOPENR_GPIODEN; // enable PD
    // set PD8 and PD9 as AF
    GPIOD->MODER = (GPIOD->MODER & ~(GPIO_MODER_MODE8 | GPIO_MODER_MODE9))
            | GPIO_MODER_MODER8_AF | GPIO_MODER_MODER9_AF;
    // AF0 for USART3 @ PD8/PD9
    GPIOD->AFR[1] = GPIOD->AFR[1] & ~(GPIO_AFRH_AFSEL8 | GPIO_AFRH_AFSEL9);
    // enable USART3 clocking
    RCC->APBENR1 |= RCC_APBENR1_USART3EN;
    // baudrate 115200
    USART3->BRR = 640000 / 1152;
    // charmatch interrupt, enable transmitter and receiver, enable usart
    USART3->CR1 = USART_CR1_CMIE | USART_CR1_TE | USART_CR1_RE | USART_CR1_UE;
    //
}

// return amount of bytes sents
int usart3_send_blocking(const char *str, int len){
    if(!txrdy) return 0;
    for(int i = 0; i < len; ++i){
        USART3->TDR = *str++;
        while(!(USART3->ISR & USART_ISR_TXE_TXFNF));
    }
    return len;
}
Каждые полсекунды шлю "hello\n", а фигвам! Читаю дальше эту документацию жестокую.
Небось, опять тактирование какое-то не включил…

Кстати, уж не помню, где взял этот вариант CMSIS, но он упоротый какой-то: скажем, вместо APB1ENR здесь - APBENR1, а вместо USART_ISR_TXE - USART_ISR_TXE_TXFNF.

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

Добавлено: Пт янв 06, 2023 21:42:36
VladislavS
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4349509#p4349509"]вместо APB1ENR здесь - APBENR1[/uquote]Как всегда, открываем RM и ЧИТАЕМ. И логика тут совершенна проста. Два регистра ENR1 и ENR2 включают тактирование периферии на шине APB.
Изображение
Если бы были APB1ENR и APB2ENR, то это были бы регистры, включающие тактирование на шинах APB1 и APB2. У более продвинутых контроллеров этих шин...

изображение_2023-01-06_211555498.png
(86.19 КБ) 276 скачиваний
Добавлено after 21 minute 24 seconds:
Кстати, зачем выключаешь тактирование остальных GPIO?

Код: Выделить всё

RCC->IOPENR = RCC_IOPENR_GPIODEN; // enable PD

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

Добавлено: Пт янв 06, 2023 21:47:44
Eddy_Em
Кстати, зачем выключаешь тактирование остальных GPIO?
Ага. А еще я саму функцию usart3_setup() не вызвал, и жду: а где ж мой "hello".
В общем, это заработало, теперь буду про DMA читать: так ли это как на F0 делается, или через задницу.
Хорошо, что здесь, как и в F0, есть прерывание по символу: вообще с приемом париться не надо. Выделил себе буфер, да читаешь при помощи DMA. Если переполнение буфера - флаг выставляешь, буфер сбрасываешь. Получил прерывание по символу - выделяешь для DMA второй буфер, а этот оставляешь для считывания, выставляя флаг готовности.

Довольно заманчиво попробовать убогий модбас реализовать (увы, все равно придется: есть частотники, которые не умеют в CAN). Правда, регистров для него тьма тьмущая.

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

Добавлено: Пт янв 06, 2023 21:49:31
ARV
что-то я не пойму: подключаю свою платку - в системе появляется диск 30М с тремя ссылками давно не актуальными на файлы PDF, а сам ST-Link не появляется... и не пойму, что надо сделать...

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

Добавлено: Пт янв 06, 2023 21:58:51
VladislavS
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4349556#p4349556"]теперь буду про DMA читать: так ли это как на F0 делается, или через задницу.[/uquote]DMAMUX не забудь.

Добавлено after 5 minutes 26 seconds:
[uquote="ARV",url="/forum/viewtopic.php?p=4349561#p4349561"]что-то я не пойму: подключаю свою платку - в системе появляется диск 30М с тремя ссылками давно не актуальными на файлы PDF, а сам ST-Link не появляется... и не пойму, что надо сделать...[/uquote]Один из механизмов прошивки - просто закинуть на этот диск файл прошивки. Но в жизни это даром не надо. Когда работаешь в IDE, она сама и прошивает. В диспетчере устройств должен быть ST-Link дополнительно к диску.

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

Добавлено: Пт янв 06, 2023 22:01:13
ARV
VladislavS писал(а): В диспетчере устройств должен быть ST-Link дополнительно к диску.
нету :(
VladislavS писал(а):Когда работаешь в IDE, она сама и прошивает
это понятно, но вместо этого оно мне сообщает, что ST-Link не подключен...

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

Добавлено: Пт янв 06, 2023 22:07:36
VladislavS
Это может быть то о чём Dimon456 писал. Стоит попробовать сначала видит ли его STLink Utility или CubeProgrammer. Но вообще, st-link всегда в диспетчере устройств было видно. Не помню, были ли версии только с виртуальным диском... На "раздаточных" платах что угодно могло быть.

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

Добавлено: Пт янв 06, 2023 22:14:49
ARV
попробовал вместо локального отладчика указать удаленный на локалхосте, так вывело сообщение, что моя плата не поддерживает режим отладки - это как вообще?! :shock:

Добавлено after 2 minutes:
удаленный сервер надо отдельно запускать, потому, наверное, такое сообщение и выдаёт... а когда автостарт сервера - пишет "не подключен"... при этом утилитка обновления фирмвари ST-Link в кубе этом вроде как обнаруживает и обновляет ПО...

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

Добавлено: Пт янв 06, 2023 22:17:54
Reflector
ARV, писали же, что лучше в v2 переделать.

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

Добавлено: Пт янв 06, 2023 22:41:50
Dimon456
ARV, надо меня было слушать, а не кого-то, я через это прошел.

Добавлено after 1 minute 41 second:
В диспетчере устройств у вас будет Дисковые устройства - STM32.
Все.

Запускаем утилиту STM32 ST-LINK Utility и пробуем подключиться. Что получилось?

Добавлено after 2 minutes 50 seconds:
Далее CubeIDE ни когда не подключится к V1, вывод - переделывайте в V2, это если хотите или используйте китайский v2. Решать вам.

Добавлено after 18 minutes 19 seconds:
Я спокойно подключаюсь как и V1 так и китайский V2
СпойлерИзображение
как и из под IAR так и из под других IDE, смотря под какой адаптер подключаться.
Ни чего не надо лишнего запускать, ни каких удаленных серверов и прочей лабуды.
Как я не старался скрестить чего-то с чем-то, у меня не получилось.

Если вам нужен eclipse то единственный вариант остается CoIDE, а если вам нужно "из коробки" - то IAR. Все. Пока мне другого не показали. Остальное либо не подходит, либо не соответствует моим требованиям.

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

Добавлено: Пт янв 06, 2023 22:42:20
ARV
Dimon456 писал(а):Запускаем утилиту STM32 ST-LINK Utility и пробуем подключиться. Что получилось?
получилось. находит, подключается, обновляет до версии V1 где взять версию V2 пока не понял

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

Добавлено: Пт янв 06, 2023 22:49:24
VladislavS
Двумя постами выше Reflector давал ссылку. Если вкратце, то нужен usb-uart адаптер, подпаять пару проводков и прошить в f103 новый bootloader. Остальное дело техники.