这么配置可以吗

2019-07-26 14:20发布

本人新手,用2809芯片控制GP21并读取数据,因为GP21只能传8位字节,因此配置函数如下
:void Spi_fifo_init()                       //子函数Spi_fifo_init(),SPI寄存器配置初始化函数
{
   SpibRegs.SPICCR.bit.SPISWRESET=0;       //重设SPI

   SpibRegs.SPICCR.all=0x0017;             //8字元传输,内部回接测试模式,
   SpibRegs.SPICTL.all=0x0017;             //中断致能,主控模式传输致能
   SpibRegs.SPISTS.all=0x0000;             //不作传出延迟
   SpibRegs.SPIBRR=0x0063;                 //波特率为(20Mhz/99+1)=200Khz/s
   SpibRegs.SPIFFTX.all=0xC028;            //致能FIFO,设定传出FIFO为8层
   SpibRegs.SPIFFRX.all=0x0028;            //设定接收FIFO为8层
   SpibRegs.SPIFFCT.all=0x00;              //没有TX延迟
   SpibRegs.SPIPRI.all=0x0010;             //当模拟除错发生,继续SPI运作

   SpibRegs.SPICCR.bit.SPISWRESET=1;       //放开SPI的重设

   SpibRegs.SPIFFTX.bit.TXFIFO=1;          //放开FIFO传出重设
   SpibRegs.SPIFFRX.bit.RXFIFORESET=1;     //放开FIFO接收重设
}
想问一下这么配置可以吗
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
午夜粪车
1楼-- · 2019-07-27 14:17
比如从机发送1234的话,2进制是0001001000110100,那SpibRegs.SPIRXBUF得到的值是0010110001001000,也就是2C48是吗
zhaoxqi
2楼-- · 2019-07-27 17:29
 精彩回答 2  元偷偷看……
jiaxw
3楼-- · 2019-07-27 21:55
算了,周一再说吧
vivilzb1985
4楼-- · 2019-07-27 22:50
这个现在看是可以的,实际的放到工程中变一下看看实际的效果的吧。
angerbird
5楼-- · 2019-07-28 03:54
这个看起来是可以的,就仿真的看看效果吧。

一周热门 更多>