void SPI_init(void)
{
*pSPI1_BAUD = 2; //配置速率为1/4系统时钟 SPI速率 = SCLK/2*SPI_BAUD
*pSPI1_FLG |=FLS2; //选择SPI1SEL2接口
*pSPI1_CTL = 0x1001|CPHA|0x0100|SPE;
*pPORTF_FER = PF0;
*pPORTF_MUX = 0x0002;
*pPORTH_FER = PH0|PH1|PH2|PH3;
*pPORTH_MUX = 0x0021;
}
void Init_Interrupts(void)
{
*pSIC_IAR6 = 0xfffffff0;
register_handler(ik_ivg7,sync_isr);
*pSIC_IMASK1 |= 0x00010000;
}
EX_INTERRUPT_HANDLER(sync_isr)
{
//中断函数
}
通过查询的方式可以使用SPI收发数据,但是查询的方式占用的运算太多。
想采用SPI中断的形式读写。
但是像上面这样配置的话。
向SPI发送一个数据。SPI的时钟信号正常,按理说传送结束应该会触发一个SPI中断吧。
但是无论怎样都进不到中断函数里。
这是什么原因?请版主解答一下。
「该帖子被 AD7685 在 2013-08-13 16:18:04 编辑过」