您好,我用这个芯片来做一个项目,在其它事情之间我必须使用SPI将四组数据传送到两个MCP4822,并且减少我想使用中断的挂起时间。逻辑is
tiMER2中断:->;CS1上升,CS2上升>;取四个样本,->;CS1下降,CS2下降>;SPI1BUF=SPI1BUF=采样A->;SPI2BUF=采样C->;SPI2BUF=采样C->;SPI2IF=0->=0>;SPI2IE=1->;1>;T2IF=0SPIII2中断:这应该只发生在第二次trasfert->>;CS1上升,CS1上升,CS2上升->;CS1下降,CS2上升->,CS1下降,CS1下降,CS2上升>;CS1下降,CS2 Down-SPI1BUF=SampleB->SPI2BUF=SampleD->SPI2IE=0Problem是,在任何情况下,既不设置SPI1IF也不设置SPI2IF,尽管两个模块都正确地操作:以正确的速度按应该的方式发送数据,设置并清除所有内部标志。只有中断标志没有设置这是SPI1/2配置(它们以相同的方式配置)。在管脚配置中,我分配了MOSI和SCK。我没有分配MISO,因为我不需要它(而且管脚已经用完了)。是的,我可以把它分配给一个输出,但我不认为它应该有任何区别。我检查了勘误表和数据表,没有提到任何东西)谢谢: