求助:STC8A8K 进不了SPI中断
本帖最后由 jssd 于 2018-6-1 11:38 编辑代码如下,用stc-isp-15xx-v6.86D.exe生成改的,看规格书也是一样的代码,现在问题是:void SPI_Isr() interrupt 9这个中断一直没有进来,卡在while (spiBusy);这里不动了
没找到问题,网上关于这个芯片使用的又少
PS:串口确认是OK的
#define SS P12
static spiBusy = 0;
void SPI_Isr() interrupt 9
{
UART_Send('1');
SPSTAT = 0xc0; //清中断标志
SS = 1; //拉高从机的SS管脚
spiBusy = 0;
}
void SPI_Init(void)
{
SS = 1;
spiBusy = 0;
SPCTL = 0x50; //使能SPI主机模式
SPSTAT = 0xc0; //清中断标志
IE2 = ESPI; //使能SPI中断
EA= 1; //开总中断
}
void SPI_WriteByte(void)
{
while (spiBusy);
UART_Send('2');
spiBusy = 1;
SS = 0; //拉低从机SS管脚
SPDAT = 0x5a; //发送测试数据
}
//主频 22.1184MHz
int main(void)
{
SysClock_Init();
IO_Init();
SPI_Init();
UART_Init();
TimerInit();
while (1)
{
if(INT10ms>100)
{
INT10ms = 0;
}
if(INT100ms>1000)
{
INT100ms = 0;
LED_Flash();
SPI_WriteByte();
}
}
}
页:
[1]