打印

硬件SPI的数据移位寄存器是8位的,可以操作象AD7705这样的16位设备吗?

[复制链接]
4942|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
看我吴钩|  楼主 | 2013-12-23 11:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MEGA8可以用硬件SPI接口操作像AD7705这样的16位设备吗?
评论
5620abc 2018-3-30 16:53 回复TA
我想问一下,我SPI要通信16位,我用AVR的例程作为发送程序,采取查询方式;但连续发送两次8位数据,只能看到头一个的数据,低8位的数据发不出去 

相关帖子

沙发
戈卫东| | 2013-12-23 13:34 | 只看该作者
应该是可以的,但我没试过。

使用特权

评论回复
板凳
xyz549040622| | 2013-12-25 23:32 | 只看该作者
先操作八位,再操作八位呀。。。

使用特权

评论回复
地板
看我吴钩|  楼主 | 2014-1-8 09:11 | 只看该作者
xyz549040622 发表于 2013-12-25 23:32
先操作八位,再操作八位呀。。。

你8位8位读的前提是,AD7705支持,读的同一个寄存器两次不是重复的低8位,而是先高8,在低8,或

使用特权

评论回复
5
戈卫东| | 2014-1-8 09:36 | 只看该作者
两次8位跟一次16位有什么区别么?

使用特权

评论回复
6
peakerhear| | 2014-1-8 10:26 | 只看该作者
两次八位,芯片会等你的CLK,就是24位都是这么操作~

使用特权

评论回复
7
NE5532| | 2014-1-8 16:44 | 只看该作者
SPI是同步总线,主机不发CLK的时候,从机是在等待状态,片选CS是用于分割每个数据帧的,所以只要CS在使能状态,你发多少次,从机都当一个命令来处理。对AVR来说,SPI的寄存器是8bit的,你把16bit分开2次发就可以了(注意两次之间CS保持使能状态不要动)。有的单片机支持16bit的SPI传送,只是说效率稍微高一点罢了,跟8bit的没有本质区别。

使用特权

评论回复
8
看我吴钩|  楼主 | 2014-1-25 11:06 | 只看该作者
NE5532 发表于 2014-1-8 16:44
SPI是同步总线,主机不发CLK的时候,从机是在等待状态,片选CS是用于分割每个数据帧的,所以只要CS在使能状 ...

嗯,谢谢7楼。

使用特权

评论回复
9
看我吴钩|  楼主 | 2014-1-25 11:12 | 只看该作者
戈卫东 发表于 2014-1-8 09:36
两次8位跟一次16位有什么区别么?

有的,AD7705的转换结果寄存器的是16bits的。而对它读写,都要先给通信寄存器一个命令,再读转换结果寄存器。我的担心是读完一次,是不是还需要重新先给通信寄存器一个命令,再读转换结果寄存器;这个两次操作是不是都只是读的高8位。低位未读。不过看了英文datasheet的一个例程程序,不是的,问题解决了

使用特权

评论回复
10
看我吴钩|  楼主 | 2014-1-25 11:13 | 只看该作者
peakerhear 发表于 2014-1-8 10:26
两次八位,芯片会等你的CLK,就是24位都是这么操作~

嗯,谢谢

使用特权

评论回复
11
coody| | 2014-1-26 11:28 | 只看该作者
很多外围的接口IC,比如ADC、DAC之类其SPI不一定是标准的SPI格式,所以,我基本哦度是IO模拟,反正现在的MCU,好多其IO模拟SPI的速度都能达到1Mbit/S以上。

使用特权

评论回复
12
uconny720| | 2014-1-26 12:26 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

53

帖子

1

粉丝