2812的SPI接口输出

2019-07-17 13:36发布

好象不对
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=97%,rgb(214,224,239)]
[table=98%]
[table=98%]
程序结果,SPICLK和SPISTE波形都正常,但就是SPISIMO输出引脚不对,不管怎么改变发送的sdata的值,其波形都不变;
查看SPITXBUF的值,也对,就是不知道哪里设置错了,都折腾好几天了都,求大神指导。。。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
wuhany
1楼-- · 2019-07-17 16:17

网上应该有很多2812spi的实际代码,你可以下一个比较一下
dengdc
2楼-- · 2019-07-17 22:06

另外这种提问有个小技巧

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

没有这些信息,谁有功夫帮你从头找文档,一点一点翻去?
wyjie
3楼-- · 2019-07-18 00:08
 精彩回答 2  元偷偷看……
spark周
4楼-- · 2019-07-18 03:14

再仔细研究下数据手册吧,数据手册第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.
jlyuan
5楼-- · 2019-07-18 05:34
这种配置问题还是多看看DATASHEET,再玩玩例程
lizye
6楼-- · 2019-07-18 10:59
是端口没配置的原因吗?

一周热门 更多>