问题描述:选择ra2e1的SPI0做从机,测试时发现SCK频率在2MHZ/1.44MHZ时可以正常接收,5MHZ就接收失败;
尝试:*由于规格书上标明使用从机时最大频率为PCLKB/4,所以分别做如下测试,其中外部发出的SPI数据为{0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa};
*也有根据文档提示尝试提高位宽或者默认开启DTC传输,但是还是没有达到理想的5MHZ或8MHZ,不知道是不是我的配置有问题;
一:HOCO==64MHZ-----------PCLKB==32MHZ时;
①外部发出2MHZ的SPI数据,debug断点打在slave_callback处,spi_event_t的值为SPI_EVENT_TRANSFER_COMPLETE,显示传输完成,并且对比接收的目标数组里的值和外部发出的值一致,判定接收成功;
②外部发出3MHZ的SPI数据,debug断点打在slave_callback处,spi_event_t的值为SPI_EVENT_ERR_MODE_UNDERRUN,显示欠载错误,对比数据似乎只接收了一个,判定接
收失败,如下图:
二:当HOCO==48MHZ时,SPI频率在1.44MHZ还能正常接收,但是在1.66MHZ时也是接收失败;
不是很了解具体情况,需要跟您确认以下几个事项: 1、使用的是SPI还是SCI的简易SPI模式? 2、RA2E1做Master还是Slave? 3、无法接收时,双方设置的波特率是否一致? 4、测试有问题的工程能放上来吗?
1:RA2E1从机使用的是SPI;
2:RA2E1做奴隶;
3:波特率设置的不一致,RA2E1的从机波特率使用的是默认的12MHZ,这个需要改为和主机端一致吗?
4:可以的;
2E1_4M2_SPI.zip
里面总共有两个工程:4M2用来外部发送SPI;
2E1用来接收4M2发送的数据;