void interrupt 20 sci(void)
{
unsigned char ch;
ch=SCIread();
if(ch==1)
{
DDRB=0XFF;
PORTB=0x00;
}
}
这怎么修改呢,没搞过啊,这玩意
追答这个不太好说, 因为你没有贴 SClread() 的源码出来, 也不知道你加 if 条件语句的目的是什么?
追问unsigned char SCIread() //读SCI数据
{
if(SCI0SR1_RDRF==1)
{
SCI0SR1_RDRF=1;
return SCI0DRL;
}
}
我增加 if 条件语句,就是为了试试串口通信
void interrupt 20 sci(void)
{
unsigned char ch = 0;
ch=SCIread();
if(ch != 0)
{
DDRB=0XFF;
PORTB=0x00;
}
}
你这样该试试看.
这肯定行啊。关键是怎么识别发过来的信息啊。算了,把分给你吧
追答你可以定义一个全局的数组每次把收到的资料放进去, 这样就可以在其他的程序中处理了. 还有没有相关的资料, 很难帮你或者如果你的电路板上有 LED 灯, 你也可以用 switch case 的方式, 在每个不同 case 中点亮不同的 LED 灯来识别发来的信息. 比如控制你的 PORTB 这个寄存器 (不清楚你的 PORTB 是控制什么的, 只是举个例子, 你可以根据电路的设计具体写相对应的寄存器.)
不行,没执行