heart小十一 发表于 2022-8-8 14:48

HC32L136 的SPI多字节写入,波形却只有一字节

本帖最后由 heart小十一 于 2022-8-8 14:50 编辑

void SPIWriteMultiByte(uint8_t *pBuf,uint16_t length)
{
      uint16_t i;
      uint8_t temp;
      PIN_CS_L;
      M0P_SPI0->SSN&=~(1<<0);
      for(i=0;i<length;i++)
      {
                /*查询等待TXE发送缓冲器状态标志*/
                while(M0P_SPI0->STAT&(1<<2)==0);
                M0P_SPI0->DATA = *(pBuf+i);      
                /*查询等待RXNE发送缓冲器状态标志*/
                while(M0P_SPI0->STAT&(1<<1)==0);
                temp = M0P_SPI0->DATA;
      }
      /*查询等待TXE发送缓冲器状态标志*/
      while(M0P_SPI0->STAT&(1<<2)==0);
      /*查询等待busy总线状态标志 0-空闲1-正在传输*/
      while(M0P_SPI0->STAT&(1<<3)!=0);      
       M0P_SPI0->SSN|=(1<<0);
      PIN_CS_H;
}
这么写有什么毛病吗?难


carpsnow 发表于 2022-8-8 21:21

你是怎么抓取字节的

heart小十一 发表于 2022-8-9 08:50

carpsnow 发表于 2022-8-8 21:21
你是怎么抓取字节的

使用的示波器,在写入DATA寄存器数据后加一些延时就能出现多于一字节的波形

carpsnow 发表于 2022-8-11 21:52

能仿真么?或者逻辑分析仪抓一下

koala889 发表于 2022-8-16 20:09

逻辑分析仪看看

tpgf 发表于 2022-9-6 08:08

每包前后都有标识位的吧

芯路例程 发表于 2022-9-6 09:35

你用示波器抓的,抓的范围大吗?有没可能两个字节中间间隔太大?

芯路例程 发表于 2022-9-6 09:39

可以把示波器抓到的图发出来,这样大家好分析!

qcliu 发表于 2022-9-6 12:25

spi配置成什么模式了

drer 发表于 2022-9-6 12:32

每包之间的时间间隔是多久呢

coshi 发表于 2022-9-6 12:39

这个字节是固定的波形吗

kxsi 发表于 2022-9-6 12:46

在线仿真一下

wiba 发表于 2022-9-6 12:54

除了多出来的字节 其他正常字节可以发送吗
页: [1]
查看完整版本: HC32L136 的SPI多字节写入,波形却只有一字节