好象不对
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的值,也对,就是不知道哪里设置错了,都折腾好几天了都,求大神指导。。。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
网上应该有很多2812spi的实际代码,你可以下一个比较一下
另外这种提问有个小技巧
1、管脚是如何复用的?
2、模块启用有哪些步骤!
3、上面两开跟哪些寄存器有关?
4、3里面涉及的寄存器的说明是怎么样的!
没有这些信息,谁有功夫帮你从头找文档,一点一点翻去?
再仔细研究下数据手册吧,数据手册第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.
一周热门 更多>