Part Number:TMS320F28379DOther Parts Discussed in Thread:C2000WARE, ADS7853, ADS8355
您好,我想用EPWM波或者定时器定时的控制SPI中断,用来定时的接发数据,这样应该怎么做呢?此外,在C2000Ware中的spi_ex3_external中那个SPI中断是怎么触发的呀,没有看明白,希望可以解答,谢谢。
Yale Li:
MR.LIU said:我想用EPWM波或者定时器定时的控制SPI中断,用来定时的接发数据,这样应该怎么做呢?
在EPWM的ISR中实现;
MR.LIU said:在C2000Ware中的spi_ex3_external中那个SPI中断是怎么触发的呀
看一下这两部分代码:
当FIFO的深度为2时触发中断。
,
MR.LIU:
谢谢您,麻烦问一下,驱动ADC芯片需要一个片选信号,想要控制周期采样,是要在主函数中保持一直开启的状态,还是在中断函数中,在采样的时候再开启呢?
,
MR.LIU:
谢谢您,麻烦问一下,驱动ADC芯片需要一个片选信号,想要控制周期采样,是要在主函数中保持一直开启的状态,还是在中断函数中,在采样的时候再开启呢?
,
MR.LIU:
谢谢您,麻烦问一下,驱动ADC芯片需要一个片选信号,想要控制周期采样,是要在主函数中保持一直开启的状态,还是在中断函数中,在采样的时候再开启呢?
,
Yale Li:
在与ADC芯片通讯的时候开启
,
MR.LIU:
谢谢大师,我还想请教,我如果用ADS7853,它有两个输出口是进行同时输出的,我用SPI同时读取数据。我是只用SPI-A,然后配置两个GPIO口作为
SPISOMIA口,然后用SPI_readDataNonBlocking(SPI-A BASE)进行连续的两次读取得到这两个数据,还是还需要配置一个SPI-B,然后选择SPI-B的一个SPISOMIB口和SPI-A的一个SPISOMIA口进行读取,那样ADS7853采用SPI-A的时钟会不会和SPI-B不兼容呢,如果这两种方案都不行,那该怎么操作才能让采的样更快一点呢,麻烦啦。谢谢
,
Yale Li:
可以采取第一种方式,配置为每次读取完数据之后进中断,切换GPIO复用
,
MR.LIU:
您好,我用的是TMS320F28379,我用了两个GPIO口作为SPISOMIA的口,但是SPI_readDataNonBlocking(SPIA_BASE)读的到底是哪个引脚啊,如果想同时读怎么办呢)
,
Yale Li:
MR.LIU said:SPI_readDataNonBlocking(SPIA_BASE)读的到底是哪个引脚啊,
这个函数读的不是引脚,是SPI receive buffer
,
MR.LIU:
这样哦,那我用ADS8355的两个同步采样口采样,这样芯片会不会把两个数据先后发到spi receive buffer 里面去,然后我用两个读取就可以把两个数据赋值给两个变量呢。
,
Yale Li:
如果使用了FIFO的话是可以实现的
,
MR.LIU:
XINPIAN.rar老师麻烦您看一下我的这个,我是把EPWM和SPI两个例程合在一起了,老是报错但是
,
Yale Li:
好的
,
MR.LIU:
老师,发给您那个我用SPIB作为主机发送,用SPIA作为从机接收,定时进行,这样是没有问题的,但是用外部的Ads8355进行用SPIA口做为主机的发送和接收数据,这样却有问题,口也没接错,这样可不可以认为是硬件有问题,软件并没有问题呢。
,
Yale Li:
单独检查一下Ads8355
,
MR.LIU:
老师,我现在ADS8355可以采样了,但是它有两个同步输出口,我配置了两个GPIO口作为SPISOMI口,但是按我之前那样操作始终只有一个能收到数据,两个口都是这样,硬件没有问题了,是不是软件有哪儿需要改的。您指导一下
,
Yale Li:
Yale Li said:可以采取第一种方式,配置为每次读取完数据之后进中断,切换GPIO复用
看一下我之前这条回复,在中断中改变相关的配置,比如引脚的复用,重新配置一下SPI;
也可以使用两个SPI模块,一个SPI模块设为主模式,为ADC器件以及另一个SPI模块提供时钟;另一个SPI模块设为从模式。
,
MR.LIU:
为什么要这样弄呢,是不是如果只是把他俩都配置成SPIASOMI口,这俩数据同时发不过来啊。
,
Yale Li:
没有这样配置过,可能会产生意想不到的错误。
就算功能上这么配置没问题,如果ADC器件的两路输出同时发出数据,就会产生冲突。