Other Parts Discussed in Thread: HALCOGEN
标准SPI方式调试。关于SPI的“接收/发送中断”有些疑惑:
使用HalCoGen工具时,发现SPI2模块的中断使能TXINT和RXINT只能二者择其一,中断线可以自由选择Low Level/High Level。由此引起我对接收/发送中断的疑问。我的理解如下:
发送中断使能后,在TXINTFLG置1后产生中断,即TXBUF为空的时间点(=数据刚移到shift Register=移位操作前):在中断函数里将源数据写入DAT1;
接收中断使能后,在RXINTFLG置1后产生中断,即数据被移到SPIBUF的时间点(=移位操作后):在中断函数里将接收数据写入目标数据区。
以主机为例,虽然发送数据的同时也接收从机数据,但从时间上来看,主机的接收中断和发送中断产生的时间点应该是不同的,所以发送/接收中断可以选择同一条中断线,High Level或Low Level。 不知道上面的理解是否正确?
那么,HalCoGen工具为什么只能二者择其一呢?
一般来讲,RXINT、TXINT和其他中断的中断线如何选择更合适?哪个为level 0,哪个为level 1?
多谢。