天嵌 ARM开发社区

 找回密码
 注册
查看: 3353|回复: 6

SPI readfile 问题 已读到字节,但是读出的数据全是0

[复制链接]
415934229 发表于 2012-11-9 17:23:28 | 显示全部楼层 |阅读模式
用两块6410板,一个主,一个从,主发,从收,主的MOSI接到从的MISO上,时钟、片选对接,寄存器配置好后,先在主机中用writefile写数据,写正常,在从机中调用readfile读数据,查看调试信息,readbyte有数据,表示读到了字节,但是readbuffer里全都是0,读出的数据全为0,想不明白,请问怎么回事?
亚瑟王 发表于 2012-11-10 16:23:15 | 显示全部楼层
怀疑你的初始化有问题,用示波器抓一下波形看看。
 楼主| 415934229 发表于 2012-11-12 08:52:20 | 显示全部楼层
亚瑟王 发表于 2012-11-10 16:23
怀疑你的初始化有问题,用示波器抓一下波形看看。

初始化完毕以及调用deviceiocontrol,congfing后,spiclk0 spimiso0 一直是低电平,spimosi0 spics0 一直是高电平,然后writefile时,spiclk0会出现间断的高电平。 CPOL=0,CPHA=0。
亚瑟王 发表于 2012-11-12 09:50:57 | 显示全部楼层
415934229 发表于 2012-11-12 08:52
初始化完毕以及调用deviceiocontrol,congfing后,spiclk0 spimiso0 一直是低电平,spimosi0 spics0 一直 ...

你把初始化之前的SPI的寄存器打印出来,再把初始化之后的寄存器打印出来,对比一下。
 楼主| 415934229 发表于 2012-11-12 15:36:28 | 显示全部楼层
亚瑟王 发表于 2012-11-12 09:50
你把初始化之前的SPI的寄存器打印出来,再把初始化之后的寄存器打印出来,对比一下。

寄存器配置都是正确的 CH_CFG=0x40,CLK_CFG=0x0509,MODE_CFG=0x0000,读出的数据只是0,写的话全能写进去
pSPIregs->SPI_TX_DATA = *(PBYTE)pSpiPrivate->pTxBuffer;
printf("*(PBYTE)pSpiPrivate->pTxBuffer[%d] = %x \r\n",pSpiPrivate->dwTxCount,*(PBYTE)pSpiPrivate->pTxBuffer);
都能打印出写进的值。
 楼主| 415934229 发表于 2012-11-12 15:37:02 | 显示全部楼层
用的是POLLING 方式发送和接收
cepoly 发表于 2013-4-17 11:09:07 | 显示全部楼层
写入数据正常,你打开文件看到时确定的?读取字节返回,那么说明已经读取成功了!
一、是你显示格式问题?
二、你读取出来再写入到文件中显示?
三、readbuffer数据类型转换问题?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-17 07:31 , Processed in 1.062500 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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