杰发科技AC7840——SPI通信简介(1)_跑通Demo

0. 简介

一些配置项:

CPHA:相序

CPLO:极性

看着demo需要按键,于是去掉按键,去掉打印,直接输出波形看逻辑分析仪的信号。

其实现在做这些demo测试应该都有逻辑分析仪,直接看波形更直观一点。

发现没有波形,而且时钟跟奇怪。看着只有几个信号

原来是采样速率设置太小了,只有500K,于是直接拉到最高50Mhz。

时钟OK,但是数据还是不对

仔细核对代码和配置项之后OK

1. 两个板子互相通信

其中经历了两三个小时的各种问题,包括但不限于线焊错了(PB3焊到旁边的PC14),动来动去PB2松了,MOSI和MISO接反了(我们的代码里面MOSI和MISO不需要互相换,因为使能了从机模式,做从机就是输入主机就是输出Master out slave in)。。。

主机代码修改如下

都是把其他代码屏蔽直接每隔100ms发送数据

ret = SPI_DRV_MasterTransferBlocking(SPI_INSTANCE, g_spiTxBuff1, g_spiRxBuff1, DATA_SIZE, SPI_TIMEOUT); /*! SPI通信 */
OSIF_TimeDelay(100);

从机代码修改如下

        ret = SPI_DRV_SlaveTransferBlocking(SPI_INSTANCE, g_spiTxBuff1, g_spiRxBuff1, DATA_SIZE, SPI_TIMEOUT); /*! SPI通信 */
        OSIF_TimeDelay(100);

主机从机的数组修改了下方便观察

至此SPI0已经跑起来了

2. 修改波特率

如下,测试,时钟源120M,波特率16M没问题,但是实际的时钟频率大概是10M。

波特率设置到到20以上,接收数据就乱了

3. 注意事项

超过2M需要设置为DMA模式:不用中断的原因是,需要频繁进入中断,CPU负载高的时候,SPI会出问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/585612.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分享:抖音老阳口中的选品师项目好做吗?

近年来,随着抖音等短视频平台的兴起,越来越多的博主通过分享自己的生活、知识和见解吸引了大量粉丝。其中,抖音博主老阳以其独特的选品眼光和专业的产品评测,在广大网友中树立了良好的口碑。那么,老阳口中的选品师项目…

【MySQL】MVCC的实现原理

【MySQL】MVCC的实现原理 MVCC简介事务的隔离级别读未提交(Read Uncommitted)概念分析 读已提交(Read Committed)概念分析结论 可重复读(Repeatable Read)概念分析结论 串行化(Serializable &am…

实战—登录功能引发的逻辑漏洞

密码找回功能可能存在的漏洞 1.验证码发送后前端返回 2.验证码无次数限制可爆破 3.验证码可控/邮箱篡改为自己的接收短信验证码/手机号码篡改为自己的接收短信验证码 4.越权漏洞—>自己验证码通过改包然后修改他们密码 5.任意用户密码重置 6.密保问题在前端源码 实战…

Linux基础——Linux开发工具(上)_vim

前言:在了解完Linux基本指令和Linux权限后,我们有了足够了能力来学习后面的内容,但是在真正进入Linux之前,我们还得要学会使用Linux中的几个开发工具。而我们主要介绍的是以下几个: yum, vim, gcc / g, gdb, make / ma…

49. 字母异位词分组 128. 最长连续序列

49. 字母异位词分组 128. 最长连续序列 把集合里面的所有元素都放入set容器里面 定义结果最大连续数量 ans for循环遍历每个元素 先判断集合里面有没有比这个元素小1的 如果没有 说明这个元素就是序列的第一个元素 然后接着找集合里面有没有比这个元素大1的 while一直找 …

牛客NC353 回文子串的数量【中等 字符串,枚举,回文 C++/Java/Go/PHP 高频】

题目 题目链接: https://www.nowcoder.com/practice/3e8b48c812864b0eabba0b8b25867738 思路 参考答案C class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** param str string字符串…

详解centos8 搭建使用Tor 创建匿名服务和匿名网站(.onion)

1 Tor运行原理: 请求方需要使用:洋葱浏览器(Tor Browser)或者Google浏览器来对暗,网网站进行访问 响应放需要使用:Tor协议的的Hidden_service 2 好戏来了 搭建步骤: 1.更新yum源 rpm -Uvh h…

OceanBase V4.3 发布—— 迈向实时分析 AP 的重要里程

OceanBase在2023年初,发布了4.x架构的第一个重要版本,V4.1。该版本采用了单机分布式一体化架构,并在该架构的基础上,将代表数据库可靠性的RTO降低至 8 秒以内,从而确保在意外故障发生后,系统能够在极短时间…

javafx如何一键打包成exe

javafx如何打包成exe JavaFX-Template-Native 集成jfoenix、commons-math、commons-lang3、netty,方便一些和底层做通信使用,不需要可以自行pom中去掉依赖当前使用的jdk17,理论上jdk14都支持采用模块化,支持一键打包生成很小的ex…

Threejs制作服务器机房冷却结构

这节再绘制一个机房的结构,因为内容比较简单,就只使用一个章节来介绍, 先来一张效果图, 需要两个模型:一个冷却设备,一个服务器机箱,我这里是从网上找来的,首先我们搭建一个场景&a…

solidworks出现slderrresu.dll错误如何解决?亲测有效

通过近来给客户安装SolidWorks发现,SolidWorks2010、SolidWorks2012、SolidWorks2014、SolidWorks2015、SolidWorks2016、SolidWorks2017都会出现这个slderrresu.dll安装错误问题: 其实这个错误很好解决,主要是因為安裝中文版solidworks沒有選擇安裝中文…

.NET操作 Access (MSAccess)

注意:新项目推荐 Sqlite ,Access需要注意的东西太多了,比如OFFICE版本,是X86还是X64 连接字符串 ProviderMicrosoft.ACE.OleDB.15.0;Data Source"GetCurrentProjectPath"\\test.accdb//不同的office版本 连接字符串有…

Linux 虚拟主机切换php版本及参数

我使用的Hostease的Linux虚拟主机产品,由于网站程序需要支持高版本的PHP,程序已经上传到主机,但是没有找到切换PHP以及查看PHP有哪些版本的位置,因此咨询了Hostease的技术支持,寻求帮助了解到可以实现在cPanel面板上找到此切换PHP版本的按钮&…

亚马逊商品详情API接口:解锁亚马逊商品信息的全面视野

亚马逊商品详情API接口:解锁亚马逊商品信息的全面视野 在跨境电商和电商数据分析领域,亚马逊作为全球领先的电商平台,其商品信息对商家、开发者以及市场分析师来说至关重要。为了更高效地获取亚马逊平台上的商品详情,亚马逊商品详…

哨兵-1A与DInSAR技术监测尼泊尔地震前后地表形变

辽宁抚顺是一座以煤而兴的重工业城市,建国初期抚顺被誉为“煤都”,这里有闻名全国享誉世界的亚洲最大的露天煤矿——抚顺西露天矿。抚顺西露天矿地处抚顺煤田西部,矿坑东西长6.6公里,南北宽2.2公里,最终开采垂直深度47…

释放人工智能潜力,Polkadot 再掀区块链技术革命

来源:https://polkadot.network/blog/unleashing-the-potential-of-ai-with-polkadot/ 编译:OneBlock 区块链技术开辟了一个充满可能性的世界,这一点在新兴崛起的人工智能(AI)领域最为明显。 Polkadot 生态处于这场…

Go Web开发【xorm 框架】

1、xorm 1.1、xorm 简介 xorm 是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便。 特性 支持 struct 和数据库表之间的灵活映射,并支持自动同步事务支持同时支持原始SQL语句和ORM操作的混合执行使用连写来简化调用支持使用ID, In, Where, Limit,…

【JavaWeb Day 2 - JS 】

JavaWeb Day 2 - JS JS背景故事1. JS 引入方式2. JS 基本语法2.2 变量2.3 数据类型2.4 运算符 3. JS 函数4. JS 对象4.1 Array对象4.2 String对象4.3 JSON对象4.4 BOM对象4.4.1 windows 对象4.4.2 location 对象 4.5 DOM 对象DOM 案例 5. JS 事件监听5.1 JS 事件绑定 及 常见事…

JavaScript底层原理(栈、堆、主线程、任务队列、事件循环机制)

1. 栈(heap)和堆(stack) 栈是栈内存的简称,堆是堆内存的简称。顾名思义,内存是干啥的?内存就是用来存放数据的。 栈 栈只有一个入口,同时也是出口,数据遵循先进后出、后进先出的原则。 栈用于存放基本类型数据和引用…

vue 模板字符串

1.模板字符串换行问题 white-space: pre-wrap; 2. 鼠标移入 显示提示框 点击手动隐藏 myChart.on("mouseover", function (params) {myChart.dispatchAction({type: "downplay",}); }); tooltip: {show: true, //是否显示提示框组件,包括…
最新文章