使用goto语句很容易出错,
如果是想 在进入一个中断之后想再进入到另一个中断
可以在中断函数里设置中断优先级 即中断优先级的切换 ,需要控制寄存器 IP
这是个软件模拟时序实现spi的函数.
spi
有四条线
mosi
miso
cs
clk,
在输出1个字节的时候,同时输入1个字节.
mosi
mater
output
,
slave
input
就是主机输出,从机输入.
miso反之.
----
你可以搜下spi接口的应用.
在这个程序中,应该是51系列单片机的程序.
mosi
miso
等等,,这些是个io口.
上面应该有定义sbit
mosi=px^x
goto语句只能在当前函数里跳转,不能跨函数使用.
你需要跳到分支子程序中去执行,貌似只能是通过调用子程序的方法,然后把自身的程序结束,如:
void
keystoke()
{
switch(hyrom)
{
case
0x15:
shifen();
return;//这里改用return,直接结束
case
0x08:
alsetup();
return;
}
可定是不可能回去的,因为你的查询检测没有一个大的死循环,所以顺序执行到最后后是不能回到前面的(当然有特殊的中断处理就不一样了)。
修改如下
if(Count==0)
{
goto LPPP;
}
修改为goto LPPP; //形成大循环
中断修改为:
void ISR_Key(void) interrupt 0 using 1
{
if(Count==2)
{Count = 0;} //清零,否则须中断256次才能到0
else
Count++;
}
单片机goto函数的介绍到此就结束了,感谢您耐心阅读,谢谢。
本文标签:单片机goto函数