|
我在用keil u4寫單片機(jī)程序的時候,遇到如下情況(只貼了整個程序的一部分):
//串口發(fā)送函數(shù)
void UartDriver()
{
if(flagFrame)
{
flagFrame=0;
UartReceive();
if(buf[0]!=0x01) //地址不相符,直接跳出,buf[0]字節(jié)代表地址
{
return;
}
switch(buf[1])
{
case 0x12:PowSta=buf[1];break;
case 0x13:PowSta=buf[1];break;
default:break;
}
ScanKey();
KeyCode();
UartSend();
}
}
如果程序?qū)懗缮鲜鲂问?用串口助手調(diào)試,對從機(jī)發(fā)0x01+數(shù)據(jù),2個字節(jié),程序不能對外發(fā)送數(shù)據(jù)(程序為從機(jī)程序),但是如下改下如下:
//串口發(fā)送函數(shù)
void UartDriver()
{
if(flagFrame)
{
flagFrame=0;
UartReceive();
if(buf[0]==0x01) //地址不相符,直接跳出,buf[0]字節(jié)代表地址
{
switch(buf[1])
{
case 0x12:PowSta=buf[1];break;
case 0x13:PowSta=buf[1];break;
default:break;
}
}
ScanKey();
KeyCode();
UartSend();
}
}
采用同樣的方法,則可以對外發(fā)出數(shù)據(jù),搞不明白為什么,求哪位大俠能給解答一下,十分感謝!
|
|