问答

汇集网友智慧,解决技术难题

skay5288

TA的家园币:62  

  • 无线音频传输延迟问题

    在做48khz采样率的无线音频传输系统时,发现无线传输的数据,赶不上音频播放输出的数据,就是无线收发延迟比较大(无线发送32个字节的数据需要延时286us,而这286us里面音频数据I2S流已经传输了大概228个字节了,无线数据流远远慢于音频I2S数据流,导致声音失真严重),下面是系统框架图与无线收发的时序图,请问有什么办法优化呢?

    无线音频 无线延迟 I2S

    2022-05-05 16
  • SPI主机接收时无时钟输出

    最近在使用GD32E230K8T6配置SPI通信时,发现SPI1在主机模式下,接收时间段内居然无时钟输出,导致读取到的数据全部为0;而实际上MISO线上是有电平变化的;时序如下图所示:因为刚开始使用GD库的时候,发现SPIEN位设置不成功,没办法只能自己写了SPI1的初始化程序了,如下:voida7196_spi_init(void){uint32_treg_value=0;rcu_periph_clock_enable(RCU_SPI1);SPI_CTL0(SPI1)=0x00;//SPI_CTL0(SPI1)|=SPI_PSC_16;//1,设置分频SPI_CTL0(SPI1)|=SPI_PSC_256;//1,设置分频SPI_CTL0(SPI1)|=SPI_CK_PL_LOW_PH_1EDGE;//2,设置模式//SPI_CTL0(SPI1)|=SPI_CK_PL_LOW_PH_2EDGE;//2,设置模式//...3SPI_CTL1(SPI1)=0x00;SPI_CTL1(SPI1)|=SPI_FRAMESIZE_8BIT;//4,设置数据格式,8位SPI_CTL1(SPI1)|=SPI_CTL1_BYTEN;//4,设置数据寄存器的访问大小,一个字节//SPI_CTL1(SPI1)|=SPI_CTL1_NSSDRV;//5//...6,...7SPI_CTL0(SPI1)|=SPI_CTL0_MSTMOD;//8SPI_CTL0(SPI1)|=SPI_CTL0_SWNSS;SPI_CTL0(SPI1)|=SPI_CTL0_SWNSSEN;SPI_CTL0(SPI1)|=SPI_CTL0_SPIEN;//...9,...10,11/*selectSPImode*/SPI_I2SCTL(SPI1)&=(uint32_t)(~SPI_I2SCTL_I2SSEL);}收发采用GD的库函数的:spi_i2s_data_transmit(SPI1,addr);data=spi_i2s_data_receive(SPI1);请问高手,这是哪里配置有问题呢?我该怎么修改呢?

    GD32 spi1 接收无时钟

    2022-04-14 0
  • SPI1的使能位设置无效,是怎么回事呢?

    GD32E230K8T6芯片,在配置SPI1的时候,发现无法使能SPIEN,即SPI_CTL0的第六位,设置为1的时候就是使能SPI,但是在实际测试中发现,采用spi_enable(SPI1);并无法置位SPIEN,这是为何呢?代码如下:voidbf2_a7196_spi_init(void){uint32_treg_value=0;spi_parameter_structspi_init_struct;/*enablethegpioclock*/rcu_periph_clock_enable(RCU_SPI1);/*SPI1parameterconfig*/spi_init_struct.trans_mode=SPI_TRANSMODE_FULLDUPLEX;spi_init_struct.device_mode=SPI_MASTER;spi_init_struct.frame_size=SPI_FRAMESIZE_8BIT;spi_init_struct.clock_polarity_phase=SPI_CK_PL_LOW_PH_1EDGE;spi_init_struct.nss=SPI_NSS_HARD;spi_init_struct.prescale=SPI_PSC_8;spi_init_struct.endian=SPI_ENDIAN_MSB;spi_init(SPI1,&spi_init_struct);/*setcrcpolynomial*/reg_value=SPI_CTL0(SPI1);printf("SPI_CTL0=0x%08x\r\n",reg_value);//reg_value|=(1

    GD32 spi1 ST ni struct

    2022-04-05 0