STM32 SPI僅做傳送如何做成多組串接還可以利用DMA發動
請教各位先進, 因為需要做成一對多的SPI控制, 例如一對二STM32當成Master僅做data transmit, NSS 需要兩個GPIO接腳,
傳輸時利用DMA來發動, GPIO的軟體控制應該怎麼做呢?
感謝分享.
传输前,先使能NSS,在中断中回调,然后失能。 在DMA的传输完成中断中操作NSS即可。 songshiqun2010 发表于 2019-5-10 09:20
在DMA的传输完成中断中操作NSS即可。
感謝, 所以我應該在中斷裡加 " " 這一段來 enable NSS ?
然後在 HAL_SPI_TxCpltCallback() 裡面去 disable NSS ?
謝謝解答
void DMA1_Stream0_IRQHandler(void)
{
/* USER CODE BEGIN DMA1_Stream0_IRQn 0 */
" check data for nss1 or nss2 "
" enable nss1 or nss2"
/* USER CODE END DMA1_Stream0_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_spi2_tx);
/* USER CODE BEGIN DMA1_Stream0_IRQn 1 */
/* USER CODE END DMA1_Stream0_IRQn 1 */
}
页:
[1]