打印

2812的SPI接口输出不对

[复制链接]
2100|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]

spi.jpg (19.78 KB )

spi.jpg

相关帖子

沙发
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这两个寄存器

使用特权

评论回复
5
五谷道场| | 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.

使用特权

评论回复
6
figo20042005| | 2012-6-29 10:05 | 只看该作者
LZ哥,这种配置问题还是多看看DATASHEET,再玩玩例程

使用特权

评论回复
7
五谷道场| | 2012-6-29 14:08 | 只看该作者
不知道楼主现在结果怎么样了呢

使用特权

评论回复
8
ty新气象| | 2012-6-29 15:14 | 只看该作者
:) ,全面。 3# blacksword

使用特权

评论回复
9
五谷道场| | 2012-7-2 09:50 | 只看该作者
没有反馈啊,问题解决了啊,是端口没配置的原因吗?

使用特权

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

本版积分规则

0

主题

1

帖子

0

粉丝