看手册写的最高速度达到3.8Gbps,有测试Demo吗。
用HSPI_BurstMode代码测试的感觉速度也就300MByte/s+,不知道是哪出的问题,求解答。
看手册写的最高速度达到3.8Gbps,有测试Demo吗。
用HSPI_BurstMode代码测试的感觉速度也就300MByte/s+,不知道是哪出的问题,求解答。
还有HSPI的代码里的串口波特率都是921600下进去之后跑不起来,改成115200可以跑
SPI的初始化部分 楼主能共享下不,我用的普通的SPI1输出无任何数据
您好,可以把配置SPI1部分的代码贴出来看一下呢
SPI1初始化程序
void SPI1_MasterDefInit( void )
{
R8_SPI1_CLOCK_DIV = 4; //主频时钟4分频
R8_SPI1_CTRL_MOD = RB_SPI_ALL_CLEAR;
R8_SPI1_CTRL_MOD = RB_SPI_MOSI_OE | RB_SPI_SCK_OE ;
R8_SPI1_CTRL_CFG |= RB_SPI_AUTO_IF;
R8_SPI1_CTRL_CFG &= ~RB_SPI_DMA_ENABLE; //不启动DMA方式
//R8_SPI1_CTRL_CFG |= RB_SPI_DMA_ENABLE; //启动DMA方式
}
主程序:
int main()
{
UINT8 i;
SystemInit(FREQ_SYS);
Delay_Init(FREQ_SYS);
GPIOA_ModeCfg( GPIO_Pin_12, GPIO_Slowascent_PP_8mA );
GPIOA_SetBits(GPIO_Pin_12);
/*配置串口调试 */
DebugInit(115200);
printf("Start @ChipID=%02X\r\n", R8_CHIP_ID );
/* 主机模式 */
printf( "1.spi1 mul master mode send data ...\n");
DelayMs( 100 );
R32_PB_OUT |= 1<<11;
R32_PB_PD &= ~(1<<11 | 1<<12 | 1<<13 );
R32_PB_DRV &= ~(1<<11 | 1<<12 | 1<<13 );
R32_PB_DIR |= (1<<11 | 1<<12 | 1<<13 );
SPI1_MasterDefInit( );
GPIOA_ResetBits(GPIO_Pin_12);
// 单字节发送
R32_PB_CLR |= 1<<11;
SPI1_MasterSendByte(0x55);
R32_PB_OUT |= 1<<11;
DelayMs( 1 );
// FIFO 连续发送
R32_PB_CLR |= 1<<11;
SPI1_MasterTrans( spiBuff, 9 );
R32_PB_OUT |= 1<<11;
DelayMs( 1 );
while(1);
}
你好,问下是用的两块CH569测试的吗,上端板给下端板发数据,32根数据线,全速300MB/s