3737|6

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请教SPI控制 [复制链接]

前一段我问过关于SPI控制的问题,也得到了答复,但仍旧有些不明白的地方,希望大家帮忙。

我本以为SPI的SPISTE口至自动控制的,但如果是要软件控制的,那么GPIOF口低四位设置成了SPI模式,就不能用GPIO口的寄存器对其输出值进行更改了,那如果想软件控制SPISTE端口要怎么做?SPI的寄存器里也没有对他控制的位阿

最新回复

不好意思,前端对AD421的要求有点理解错误,它要求的是两个latch信号中间的数据必须是16bit,也就是16个时钟周期,只要传进来的数据位数对就行了,这样的话就很好控制了,我一直认为要计算时钟周期,所以觉得没法准确控制,呵呵,不过现在板子还是调不通,很郁闷,但应该不会是软件的问题了。  详情 回复 发表于 2009-1-22 02:06
点赞 关注

回复
举报

84

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
SPISTE口软件控制用作SPI时要初始化为普通IO口。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用:

SPISTE口软件控制用作SPI时要初始化为普通IO口。
不好意思,多问一句,软件控制SPISTE口时,要求在传送出16bit的数据后立即置位SPISTE,可SPIDAT这个寄存器是自动发送的,2812里也没有相应的寄存器标志位能反映它传送完成,用Delay函数也不能准确,那我要如何做才能准确置位SPISTE?我没有用SPISOMI口,所以也不能以此来判断。我外接的芯片是AD421。
谢谢指教。
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

4
 
我用的是2406.
AD421我没用过.
我写过EEPROM(24lc040),SPISTE口用来选中芯片或不选中.
AD421是什么片子?
你用SPISTE口完成什么功能?
 
 
 

回复

53

帖子

0

TA的资源

一粒金砂(初级)

5
 
AD421是个专门用来输出工业4~20mA标准电流的芯片,16位同步串行输入,三个信号输入端,它工作过程就是先传入一个16位数据(0000~FFFF对应4~20mA),之后要给一个锁存信号(上升沿)来使能AD421以实现数字信号到电流的转换,而且两个锁存信号之间只能有16个数据周期,否则就不能正常转换,我用SPISTE口用来提供这个锁存信号,所以置位SPISTE口不能晚,也不能早,不知道怎么解决这个问题。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

6
 
我看了一下2812的书。
SPISTS寄存器有个TXBUF FULL FLAG位。
发送缓冲器满置1,空时为0。
你可以判断这个位啊。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

7
 
不好意思,前端对AD421的要求有点理解错误,它要求的是两个latch信号中间的数据必须是16bit,也就是16个时钟周期,只要传进来的数据位数对就行了,这样的话就很好控制了,我一直认为要计算时钟周期,所以觉得没法准确控制,呵呵,不过现在板子还是调不通,很郁闷,但应该不会是软件的问题了。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表