牛卧堂MCU技术交流

标题: Nan0 高速 SPI 发送代码, 可用于 SPI 测试 [打印本页]

作者: admin    时间: 2013-12-23 14:49
标题: Nan0 高速 SPI 发送代码, 可用于 SPI 测试
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, 下载次数: 1700)
示波器测到 SPI 波形如下图:

从图中可以看出 0.6us 约为 7.5 个 SPI CLK,波特率为 (0.6/7.5) 的倒数, 约为 1/(0.6/7.5)= 12.5M。
还可以看出第一个数为 0x32,  即ASC码 '2'





欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/) Powered by Discuz! X3.2