请教高手,用51单片机软件模拟SPI从机,需要注意哪些问题?
2个回答
展开全部
0、楼上你真逗……不要误导人家……最讨厌用这种滥造的答案糊弄人,百度能不能想想办法?
1、我不是大婶,只是学过单片机和arm
2、SPI有主从机之分,其实我觉得主从机从通信角度来讲地位相同,区别是主机为从机提供时钟信号,并且控制挂在总线上的多个从机的选通信号来时分复用数据总线。
3、模拟SPI时,你需要确定SPI通信时的时序,也就是类似许多集成电路datasheet里的通信时序图所画的那样,包括确定通信端口无信息也就是不通信时的电平高低,确定获取信息是在时钟上升沿还是下降沿,以及需要确定一下你通过SPI通信时的帧结构,例如8位或者16位,不过51大多数都是8位应该。
4、网上应该有配置SPI的例程,找出来一行一行读,理解了就好了。
5、推荐使用arm
1、我不是大婶,只是学过单片机和arm
2、SPI有主从机之分,其实我觉得主从机从通信角度来讲地位相同,区别是主机为从机提供时钟信号,并且控制挂在总线上的多个从机的选通信号来时分复用数据总线。
3、模拟SPI时,你需要确定SPI通信时的时序,也就是类似许多集成电路datasheet里的通信时序图所画的那样,包括确定通信端口无信息也就是不通信时的电平高低,确定获取信息是在时钟上升沿还是下降沿,以及需要确定一下你通过SPI通信时的帧结构,例如8位或者16位,不过51大多数都是8位应该。
4、网上应该有配置SPI的例程,找出来一行一行读,理解了就好了。
5、推荐使用arm
追问
恩,先谢过!
SPI主机的话还好说,但是要模拟从机,这样的话就得不停的检测主机的时序,这样我想会不会很麻烦,而且出错率会高,并且如果主机是1M的速率,那么要是用51的做事不是没有可能呢?
追答
首先,你51的时钟频率是多少?能使得SPI速率到达1M么?我觉得比较费劲啊。。
其次呢。。。。不停的检测时序应该是不行的,这样非常浪费cpu,应该采用中断的思想我觉得(我自己没做过从机的,我曾经用stm32做主机spi通信控制AD9850【一个dds芯片】),我们假定没有通信的时候电平为低,采用中断的方式检测电平转为高时即开始通信(检测上跳变沿),然后传输数据。我觉得如果有硬件检测电路应该是最好的。。。。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询