这么配置可以吗

[复制链接]
380|11
手机看帖
扫描二维码
随时随地手机跟帖
jiaxw|  楼主 | 2018-7-3 19:00 | 显示全部楼层 |阅读模式
本人新手,用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接收重设
}
想问一下这么配置可以吗

相关帖子

spark周| | 2018-7-3 19:02 | 显示全部楼层
你有什么顾虑

使用特权

评论回复
jiaxw|  楼主 | 2018-7-3 19:04 | 显示全部楼层
要连续传输40个字节的数据,想问一下TMS的SPI读到哪条指令传输,啥时候执行下一条语句

使用特权

评论回复
liliang9554| | 2018-7-3 19:07 | 显示全部楼层
要读32字节的数据怎么写

使用特权

评论回复
jiaxw|  楼主 | 2018-7-3 19:10 | 显示全部楼层

貌似2809的寄存器是16位的。

使用特权

评论回复
午夜粪车| | 2018-7-3 19:13 | 显示全部楼层
SPI的右对齐存储是什么意思

使用特权

评论回复
jiaxw|  楼主 | 2018-7-3 19:15 | 显示全部楼层

啥意思?

使用特权

评论回复
午夜粪车| | 2018-7-3 19:17 | 显示全部楼层
比如从机发送1234的话,2进制是0001001000110100,那SpibRegs.SPIRXBUF得到的值是0010110001001000,也就是2C48是吗

使用特权

评论回复
zhaoxqi| | 2018-7-3 19:20 | 显示全部楼层

从机发送的数据是处理过的

使用特权

评论回复
zhanghqi| | 2018-7-3 19:22 | 显示全部楼层
这个现在看是可以的,实际的放到工程中变一下看看实际的效果的吧。

使用特权

评论回复
zhenykun| | 2018-7-3 19:25 | 显示全部楼层

这个看起来是可以的,就仿真的看看效果吧。

使用特权

评论回复
jiaxw|  楼主 | 2018-7-3 19:28 | 显示全部楼层

其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先

使用特权

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

本版积分规则

825

主题

9762

帖子

4

粉丝