kegaank 发表于 2007-11-19 22:15:24

读千分表输出的SPC数据

马老师,这几天研究一块千分表,它输出的数据格式为SPC.详细见上传资料.点击此处打开ourdev_182027.pdf(文件大小:220K)
我想采用SPI从机读取.但它只有52 BIT.也就是说最后一个字节只有半个字节的数据,由于不知道它传出最后半个字节的数据之后是否还有同步脉冲输出,因此,最后半个字节的数据可能不会产生SPI中断.因此,我没有尝试去做.
我开始采用INT0中断方式读取,也就是同步脉冲做中断源,在中断里读串行数据,同时计数,当计数值为52时,数据读取完毕.但是没有成功.
后来我又采取查询方式读,也就是当检测到同步脉冲的时候,读串行数据,当计数值为52时,数据读取完毕.但是也没有成功.
请问马老师,我这个方案有没有问题?

kegaank 发表于 2007-11-20 21:59:17

今天用SPI读取数据,数据是读出来了,但同时,读出许多乱码.可能程序设计上还是有点问题.

kegaank 发表于 2007-11-21 18:44:22

已成功读出

machao 发表于 2007-11-22 17:22:56

祝贺一下.
没有时间读PDF,但奇怪千分表怎么不能做从机?
你最后成功,AVR是主机还是从机?,采用I/O模拟的?

kegaank 发表于 2007-11-22 22:05:03

谢谢!
千分表做主机,AVR做从机。因为千分表本身自带时钟脉冲,AVR只能被动读数。
千分表传出数据,却需要一个触发信号,所以,就让AVR产生一个读周期的触发信号,触发千分表的同时,拉低AVR的SPI口的SS端口,以SPI的方式读进AVR。最后一个数据由于只有四位,可能不会产生中断,我不管它,就让数据先保存SPDR那儿。等下一个触发周期开始时,我先读SPDR,这时的数据就应该是最后四个位的数据,再将SPDR清零。启动下一个读取周期。
理论上用IO口读数要更方便一些,但由于一点小问题,我放弃了这种方法。

machao 发表于 2007-11-22 23:50:01

不错,谢谢.

我还没有将AVR的SPI作为从机使用过,学习了.

yzt123 发表于 2008-5-23 23:03:29

你好,我现在也碰到独SPC数据的问题,不同的是我想通过PC的串口来实现,不知道是否可行?请指教。我的地址:yzt123@tom.com

amu_cnm 发表于 2011-5-10 17:59:47

r111111s1s1s1ss1
页: [1]
查看完整版本: 读千分表输出的SPC数据