1. 程式人生 > >28335 Mcbsp SPI DMA接收第一位元組異常解決

28335 Mcbsp SPI DMA接收第一位元組異常解決

專案中使用28335的mcbsp做spi,用dma傳送和接收訊息,控制IC-MU的編碼器,發現每次傳送A6 FF FF FF獲取編碼器數值時,總是返回第一位元組錯錯誤。例如應該返回 A6 11 22 33,實際返回就是FF A6 11 22。
經過反覆測試發現這是由於MCBSP先於DMA初始化造成的。
改為DMA先初始化即可。

   InitMcbspbGpio();
   //DMA在SPI之前初始化就不會有位元組錯位
   init_dma();
   init_mcbsp_spi();