发 帖  
原厂入驻New
[问答] 如何看待从属端和主端的SPI的功能?
91 SPI
分享
嗨,Guys:你认为这个函数在从属侧的SPI和主方的这个函数是什么?
0
2020-4-3 07:07:11   评论 分享淘帖 邀请回答
19个回答
我猜你希望我们从你以前的话题中回忆起你正在处理的家庭PIC设备。PARTA.B5的功能是什么?你使用什么编译器?这不是XC8的正确语法。我可以猜到它可能是连接到任何被定义为SaveNeOffice对你的主人,但为什么我必须猜测。这是你作为程序员的任务来记录这些东西。通常,在传输之前,奴隶应该用一个值预先加载SSPBUF。在事务发生后,您不会向SSPBUF写入任何东西。如果您的目标是在断言SLAVENESECESS信号之后从奴隶中取出一个字节,那么在声明该信号后,要让主机等待一点,以便给从属时间将数据写入SSPBUF。一旦大师开始转移,就太迟了。您会不会觉得我懒得呈现无文档代码,并且希望我们知道您希望它做什么?尤其是当代码不做我所期望的你认为它…
2020-4-3 07:19:39 评论

举报

MikroC用于pic编译器PIC18F4620PORTA.B5是SSSlaveOneSelect,是主图中的一个位的别名,用于在从图中寻址PORTA.B5引脚
2020-4-3 07:34:40 评论

举报

更改你的从属代码Too需要在SS上等待,硬件是为你做的。
2020-4-3 07:53:58 评论

举报

这两个函数具有相同的名称,所以从属块永远等待主写入吗?奴隶如何知道何时调用这个函数?
2020-4-3 08:06:29 评论

举报

看起来很傻,但是它们是分开的程序,所以不是错误。
2020-4-3 08:22:31 评论

举报

当传输完成时,从站中的SSPSTAT.BF==1变为1,并且从站必须读取缓冲区以使SSPSTAT.BF=0,并且当新字节来自主站时避免溢出。
2020-4-3 08:32:50 评论

举报

再看一遍,“返回SSPBUF”确实读取了SSPBUF寄存器。
2020-4-3 08:44:10 评论

举报

再看一遍,“return SSPBUF”确实读取了SSPBUF寄存器。从代码中的.(SSPSTAT.BF==1)在那个位置是错误的。
2020-4-3 08:58:31 评论

举报

不是。我想你对SPI工作原理的理解是错误的。每个传输都是同时发送和接收的。在传输发生之前,从机必须写信给SSPBUF。传输由主机控制。
2020-4-3 09:11:14 评论

举报

我知道。但是,当从设备在其自己的SSPBUF中写入一个字节时,它不等于1,当主设备字节存储在从设备SSPBUF中时,它等于1,因此您应该用while替换ur(SSPSTAT.BF==0)
2020-4-3 09:16:30 评论

举报

我同意。对不起,我刚刚从您的原始代码中获取了错误的测试。它位于正确的位置,但是测试了错误的极性。正如您所说,您必须等到它从0变为1。
2020-4-3 09:29:01 评论

举报

所有图片一般,或特别是?除非你什么都不做,否则你需要中断。并且选择引脚也是最好的一个中断。
2020-4-3 09:35:01 评论

举报

好,再说我不应该等待SS,硬件会等待它,因为mehard不会接收到spi上发送的任何东西,没有ss是低的。同意uso的观点,我应该检查SSPSTAT。BF是0还是1,一旦是1,就意味着spi的硬件从桅杆接收到一个有效字节。无SS SPEST.BF=1为0?
2020-4-3 09:45:24 评论

举报

是的,顺便说一下,请避免在专业论坛上“SMS谈话”。这只会让你的文章更难阅读。你"拼写"y","o","u"。我不确定我理解你的问题。SS信号高不会迫使BF的其余部分,但是如果SS高时有时钟信号,BF不会变高,只有当SS低时SCK切换8次后,BF才会变高。
2020-4-3 10:03:51 评论

举报

在SS上的所有SS信号都从MSSP断开PIN。它不影响硬件状态机。这个CAM意味着MSSP处于未知的、无效的或错误的状态。对于代码也是一样的。
2020-4-3 10:08:51 评论

举报

不同意。从数据表中可以看出:图17-4确认了SS过高后传输重新启动。它不清楚SS过高是否会清除BF。状态图中没有显示BF。但是当SS变高时,它们确实显示出SSPIF没有被清除。
2020-4-3 10:26:39 评论

举报

然后是不同的工作,即PIC16F1947。它的用途仍然有限。你不能分辨一个消息是开始还是结束。我发现,将SS连接到外部INT引脚(一个早期顾问留给我的设计)可以告诉您comm广告何时开始,以及何时结束。这有助于软件接收,并允许软件更好地检测到主机已经传输了。我的情况下禁用MSSP的上升沿中断,并使其在下降沿。我确信这不是唯一的方法,但它确实很有效。我不坐在一个while循环等待一个字节进来。
2020-4-3 10:45:15 评论

举报

OP看起来只想传输一个字节。如果没有他们关于他们试图做什么的明确描述,我们只能猜测。因此,我之前关于只呈现一些被严重注释的代码,而不描述所希望的功能,是浪费每个人的时间……
2020-4-3 10:56:42 评论

举报

2020-4-3 11:05:15 评论

举报

只有小组成员才能发言,加入小组>>

109个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表