Size: a a a

2020 May 20

u

uis in Embedded Group
Но всё работает, если с отладчиком выполнить инструкцию записи в ccr третьего канала в режиме пошаговой
источник
2020 May 21

СС

Сиие Сууие in Embedded Group
uis
Но всё работает, если с отладчиком выполнить инструкцию записи в ccr третьего канала в режиме пошаговой
Код не читал.
Входной массив в который вы пишите имеет атрибут волотейл?
источник

СС

Сиие Сууие in Embedded Group
И второе, а на линиях что-то есть? Может и на них пусто
источник

E

Evgen in Embedded Group
uis
Отправка работает всегда
я делал отправку на F4 SPI+DMA на регистре
источник

u

uis in Embedded Group
Сиие Сууие
И второе, а на линиях что-то есть? Может и на них пусто
Есть. Другим способом работает. Лог. анализатором тоже.
источник

u

uis in Embedded Group
Сиие Сууие
Код не читал.
Входной массив в который вы пишите имеет атрибут волотейл?
Смысл в нём?
источник

u

uis in Embedded Group
uis
Но всё работает, если с отладчиком выполнить инструкцию записи в ccr третьего канала в режиме пошаговой
Если вот
источник

T

Thorn in Embedded Group
uis
Но всё работает, если с отладчиком выполнить инструкцию записи в ccr третьего канала в режиме пошаговой
там вроде было написано в RM: включать один канал dma, потом SPI, потом второй канал DMA
источник

u

uis in Embedded Group
Thorn
там вроде было написано в RM: включать один канал dma, потом SPI, потом второй канал DMA
???
источник

u

uis in Embedded Group
После каждой транзакции переинициализировать SPI?
источник

u

uis in Embedded Group
Это просто смешно
источник

u

uis in Embedded Group
uis
Это просто смешно
Да, такого там нет
источник

T

Thorn in Embedded Group
вот я о чем: RM0091 стр 769-770
1. Enable DMA Rx buffer in the RXDMAEN bit in the SPI_CR2 register, if DMA Rx is
used.
2. Enable DMA streams for Tx and Rx in DMA registers, if the streams are used.
3. Enable DMA Tx buffer in the TXDMAEN bit in the SPI_CR2 register, if DMA Tx is used.
4. Enable the SPI by setting the SPE bit.
источник

D

Dr Zlo in Embedded Group
uis
После каждой транзакции переинициализировать SPI?
Нет, просто порядок инициализации
источник

T

Thorn in Embedded Group
uis
attribute((interrupt("IRQ"))) void DMA1_Channel2_3_IRQHandler(){
 SCB->SCR=0;

 DMA1->IFCR=DMA_IFCR_CTCIF2;

 DMA1_Channel3->CCR=0;
 DMA1_Channel2->CCR=0;

 GPIOA->BSRR=GPIO_BSRR_BS_4;
}
и сброс slave select (?) по DMA complete — явно неправильно, это слишком рано. в RM об этом тоже есть
источник

u

uis in Embedded Group
Thorn
и сброс slave select (?) по DMA complete — явно неправильно, это слишком рано. в RM об этом тоже есть
Так прерывание по приёму
источник

u

uis in Embedded Group
Dr Zlo
Нет, просто порядок инициализации
Ясн. Это странно, но попробую.
источник

T

Thorn in Embedded Group
uis
Так прерывание по приёму
обработчик один для обоих каналов
источник

u

uis in Embedded Group
Thorn
вот я о чем: RM0091 стр 769-770
1. Enable DMA Rx buffer in the RXDMAEN bit in the SPI_CR2 register, if DMA Rx is
used.
2. Enable DMA streams for Tx and Rx in DMA registers, if the streams are used.
3. Enable DMA Tx buffer in the TXDMAEN bit in the SPI_CR2 register, if DMA Tx is used.
4. Enable the SPI by setting the SPE bit.
Там STM32F0x1/STM32F0x2/STM32F0x8
источник

u

uis in Embedded Group
На мой RM0360
источник