STM32
直播中

石正厚

7年用户 1139经验值
私信 关注
[问答]

关于PSSI_DMA 16位到32位的问题求解

我们最近在用H723的PSSI,由于我们需要对接收到的数据进行32位的累加,所以就在DMA初始化的时候将目标内存设置位了一个32bit的数组:HAL_PSSI_Receive_DMA( hpssi, (uint32_t*)pData32_rec , pssi_points);。
cubemx中的设置为circular,data width都为word。
但是我们发现好像在DMA传输时这个32位的数据高16位写入了和低16位一样的数据,比如我的PSSI数据位1ff,那么pData32_rec则为01ff01ff,而我想要的是0x000001ff。
请问这个是什么问题?


回帖(1)

赖治添

2024-3-18 16:04:10
从手册上看,这个外设的传输数据就是按照32位传送的,虽然它的数据宽度只有16位。
所以DMA在访问数据寄存器时也是32位的。楼主只能得到这样的结果。
建议软件在累加时再单独拆分一下数据吧。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分