找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

Nan0 高速 SPI 发送代码, 可用于 SPI 测试

[复制链接]
跳转到指定楼层
楼主
admin 发表于 2013-12-23 14:49:57 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
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'
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
牛卧堂
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU