Страница 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. Наши люди.

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. У более продвинутых контроллеров этих шин...
Добавлено 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
попробовал вместо локального отладчика указать удаленный на локалхосте, так вывело сообщение, что моя плата не поддерживает режим отладки - это как вообще?!
Добавлено 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. Остальное дело техники.