Size: a a a

2021 May 06

 

 John Kramer in STM32
Я все же склоняюсь что надо ждать конец отправки. В HAL Читать не надо работает без этого. На LL или регистрах не запускается без чтения. 😢
источник

ND

Nikita D in STM32
Переслано от Nikita D
static void SPIx_WriteData(const uint8_t *Data, uint16_t Length)
{
 uint16_t TxCount = Length;  
 if(TxCount == 1) {
   LL_SPI_TransmitData8(SPI1, *Data);
   Data += sizeof(uint8_t);
   TxCount--;
 }
 while(TxCount > 0) {
   if((SPI1->SR & SPI_SR_TXE) && (TxCount > 0U)) {
     LL_SPI_TransmitData8(SPI1, *Data);
     Data += sizeof(uint8_t);
     TxCount--;
   }
 }
 TxCount = SPI1->DR;
 TxCount = SPI1->SR;
}
источник

ND

Nikita D in STM32
вот на LL
источник

 

 John Kramer in STM32
Да именно так и сделал я
источник

 

 John Kramer in STM32
Сейчас покажу
источник

ND

Nikita D in STM32
внимание на последние 2 строчки
источник

 

 John Kramer in STM32
Тут на h743 по другому
источник

 

 John Kramer in STM32
источник

 

 John Kramer in STM32
Вот так запустил
источник

 

 John Kramer in STM32
Работает быстро
источник

 

 John Kramer in STM32
источник

ND

Nikita D in STM32
код получился аналогичный) сверните в 2 for == while ,  и если cвернуть  3  while в 1 if
источник

 

 John Kramer in STM32
👍
источник

ND

Nikita D in STM32
ну т.к у вас i и m не используется , а данные идут разом можно еще выйграть немного инкрементирую только 1 переменную, но тут уже лучше дма конечно
источник

 

 John Kramer in STM32
Пока без дма. Оно слишком сложновато
источник
2021 May 07

D

Dmitry in STM32
Если тут есть кто делал TCP/Http сервер (netconn, freertos) на stm32, напишите плиз в лс, передаю пакеты данных по get запросу, и каждый пакет заканчивается ответом RST, ACK/RST от пк, не могу понять в чем причина
источник
2021 May 08

Д

Дмитрий in STM32
Всем доброй ночи! Юзаю STM32F411 для проекта. Т.к нет EEPROM, сохраняю нужные данные на постоянку во флеш. В этом камне есть несколько секторов разного размера: 4*16, 1*64 и 3*128 кБ. С сохранением в последний сектор 128 кБ проблем нет, т.к. он расположен в конце флеша. Но его мне слишком много и время сохранения (очистки) больше 1 секунды, что многовато. Хочу использовать сектора 16 кБ. Но они расположены в начале флеша. Т.е, как я понимаю, если использовать первый сектор (с 0x08000000), то нужно переносить таблицу векторов прерываний (пытался править линкер и добавлять флаг VECT_TAB_FLASH=0x08004000 - не стартует), либо использовать другие сектора 16 кБ, но тогда образуется дыра в коде, которую надо как-то перепрыгивать (отдельный бутлоадер что ли пилить из-за этого?) Как быть? Буду признателен за советы!
источник

s

stD in STM32
Сколько размер самой программы?
источник

Д

Дмитрий in STM32
В районе 48кБ
источник

Д

Дмитрий in STM32
Пока, потом будет под 200
источник