2812的SPI接口输出不对

[复制链接]
3113|8
 楼主| bitbird 发表于 2012-6-28 00:47 | 显示全部楼层 |阅读模式
2812主模式,使能回送模式,寄存器配置如下,
void spi_init()
{

   

   

    SpiaRegs.SPICCR.all=0x001f;
        SpiaRegs.SPICTL.all=0x000E;
    SpiaRegs.SPIBRR=0x007F;
        SpiaRegs.SPICCR.all=0x009F;
    SpiaRegs.SPIPRI.bit.FREE=1;

}


void spi_fifo_init()
{
SpiaRegs.SPIFFTX.all=0xE040;
SpiaRegs.SPIFFRX.all=0x204f;
SpiaRegs.SPIFFCT.all=0x0;
//SpiaRegs.SPIFFTX.bit.TXFIFO=1;
}


主程序
while(1){
SpiaRegs.SPITXBUF=sdata;
delay(1000);}
[url=]
[table=98%]
程序结果,SPICLK和SPISTE波形都正常,但就是SPISIMO输出引脚不对,不管怎么改变发送的sdata的值,其波形都不变;
查看SPITXBUF的值,也对,就是不知道哪里设置错了,都折腾好几天了都,求大神指导。。。。。。


[/td][/tr][/table][/url]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
blacksword 发表于 2012-6-29 08:55 | 显示全部楼层
网上应该有很多2812spi的实际代码,你可以下一个比较一下
blacksword 发表于 2012-6-29 09:03 | 显示全部楼层
另外这种提问有个小技巧

1、管脚是如何复用的?
2、模块启用有哪些步骤!
3、上面两开跟哪些寄存器有关?
4、3里面涉及的寄存器的说明是怎么样的!

没有这些信息,谁有功夫帮你从头找文档,一点一点翻去?
五谷道场 发表于 2012-6-29 09:52 | 显示全部楼层
你没有设端口寄存器吧,GPFMUX,GPFDIR这两个寄存器
五谷道场 发表于 2012-6-29 09:53 | 显示全部楼层
再仔细研究下数据手册吧,数据手册第85页,有这么一句话:
The GPIO Mux registers, are used to select the operation of shared pins on the F2810 and F2812 devices. The pins can be individually selected to operate as “Digital I/O” or connected to  “Peripheral I/O” signals (via the GPxMUX registers). If selected for “Digital I/O” mode, registers are provided to configure the pin direction (via the GPxDIR registers) and to qualify the input signal to remove unwanted noise (via the GPxQUAL) registers).
Table 60 lists the GPIO Mux Registers.
figo20042005 发表于 2012-6-29 10:05 | 显示全部楼层
LZ哥,这种配置问题还是多看看DATASHEET,再玩玩例程
五谷道场 发表于 2012-6-29 14:08 | 显示全部楼层
不知道楼主现在结果怎么样了呢
ty新气象 发表于 2012-6-29 15:14 | 显示全部楼层
:) ,全面。 3# blacksword
五谷道场 发表于 2012-7-2 09:50 | 显示全部楼层
没有反馈啊,问题解决了啊,是端口没配置的原因吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部