现有系统的MCBSP接口已经被占用,无法引出
只能通过SPI接口与DA进行通讯
但是SPI接口最大一次只能发送16位数据,而使用FIFO发送的话必须持续写数据否则就会一直进入中断并且CLK信号会持续输出
请问是否有办法实现类似猝发通信那样的功能?TXFIFO的堆栈是必须开启TX的FIFO功能后才能进行操作的吗?
另外,SPISTE的置位与清零是自动进行还是手动进行?TALK位与其是否有关系?
Forrest:
SPI有4种极性,有延时无延时上升沿下降沿。
我的建议是楼主用GPIO功能代替STE功能,发送之前拉低该GPIO,然后把24位的数据作为3个8位数据发送。最后拉高GPIO。
楼主可以看看能否凑出符合要求的时序。
现有系统的MCBSP接口已经被占用,无法引出
只能通过SPI接口与DA进行通讯
但是SPI接口最大一次只能发送16位数据,而使用FIFO发送的话必须持续写数据否则就会一直进入中断并且CLK信号会持续输出
请问是否有办法实现类似猝发通信那样的功能?TXFIFO的堆栈是必须开启TX的FIFO功能后才能进行操作的吗?
另外,SPISTE的置位与清零是自动进行还是手动进行?TALK位与其是否有关系?
ccen3020:
回复 Forrest:
我也在尝试这么做
但是28335的SPI中断是哪几个?我在例程中取消FIFO的相关初始化之后就不会进中断了
因为还要做PWM的运算所以不能占用很长时间
现有系统的MCBSP接口已经被占用,无法引出
只能通过SPI接口与DA进行通讯
但是SPI接口最大一次只能发送16位数据,而使用FIFO发送的话必须持续写数据否则就会一直进入中断并且CLK信号会持续输出
请问是否有办法实现类似猝发通信那样的功能?TXFIFO的堆栈是必须开启TX的FIFO功能后才能进行操作的吗?
另外,SPISTE的置位与清零是自动进行还是手动进行?TALK位与其是否有关系?
ccen3020:
回复 Forrest:
已解决
不使用FIFO,向BUF写两次即可连续发送
现有系统的MCBSP接口已经被占用,无法引出
只能通过SPI接口与DA进行通讯
但是SPI接口最大一次只能发送16位数据,而使用FIFO发送的话必须持续写数据否则就会一直进入中断并且CLK信号会持续输出
请问是否有办法实现类似猝发通信那样的功能?TXFIFO的堆栈是必须开启TX的FIFO功能后才能进行操作的吗?
另外,SPISTE的置位与清零是自动进行还是手动进行?TALK位与其是否有关系?
Jeremy Lin1:
回复 ccen3020:
您好,我也碰到类似问题,我的24位数据包括:高8位的命令字 + 16bit DAC数据,我该怎么发送数据?
现有系统的MCBSP接口已经被占用,无法引出
只能通过SPI接口与DA进行通讯
但是SPI接口最大一次只能发送16位数据,而使用FIFO发送的话必须持续写数据否则就会一直进入中断并且CLK信号会持续输出
请问是否有办法实现类似猝发通信那样的功能?TXFIFO的堆栈是必须开启TX的FIFO功能后才能进行操作的吗?
另外,SPISTE的置位与清零是自动进行还是手动进行?TALK位与其是否有关系?
Linfa Xiao:
回复 ccen3020:
你好,请问你是写两次16bit吗(废掉多余的8位)?不使能FIFO,每次发16bit.
然后你是用普通IO口操作片选脚?