Nano 系列 CPU 时钟最快 42MHz,SPI 主机模式最快 32M,从机模式最快 16M
SPI 主机若高波特率不间断发送,从机可能来不及读出SPI接收BUFF里的数据,而发生数据覆盖。
本代码可做这种测试,本代码用 Nano 黄色小板子,SPI 以 12.25M 的波特率, 30us 发完 41 个字符
若从机产生丢数现象,主机就要在字符间插入时间间隔,或降低发送波特率
Nano 系列 DMA 接收可达到更快的接收速率
PIN54_PC3 : SPI_MOSI 。
PIN56_PC1 : SPI_CLK
PIN57_PC0 : SPI_SS
函数 SPI_Tx_Init(Div) 可改变 SPI 时钟分频值, 函数 CLKInit() 可改变 HCLK,这样可以很方便的得到任意想要的 SPI 波特率。
Nano_SPI_Tx.zip
(49.84 KB, 下载次数: 1702)
示波器测到 SPI 波形如下图:
从图中可以看出 0.6us 约为 7.5 个 SPI CLK,波特率为 (0.6/7.5) 的倒数, 约为 1/(0.6/7.5)= 12.5M。
还可以看出第一个数为 0x32, 即ASC码 '2'
|
|