如果终端1分钟发送一次,那么路由转发时就会2分钟发送一次,就是终端发了两组数据,路由只会转发一组,求大神帮忙啊
INTERRUPT_HANDLER(USART1_RX_TIM5_CC_IRQHandler,28)
{
disableInterrupts();
flag=1;
u8 re;
for(num=13;num<65;num++)//接收发送过来数据
{
re=USART_ReceiveData8(USART1);
UARTReadDataBuf[num]=re;
while ( USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);
}
usart_receive_strings();//发送接收到的一组数据
}
这是主函数里的循环:
while(1)
{
USART_Cmd(USART1,ENABLE);
enableInterrupts();
}
这是把接收到的数据发送给协调器:
void usart_receive_strings(void)
{
UARTReadDataBuf[0]=0xAA;
UARTReadDataBuf[1]=0x00;
UARTReadDataBuf[2]=0x00;
UARTReadDataBuf[3]=0x55;//发给协调器
UARTReadDataBuf[4]='#';
UARTReadDataBuf[5]='A';
UARTReadDataBuf[6]='H';
UARTReadDataBuf[7]='H';
UARTReadDataBuf[8]='F';
UARTReadDataBuf[13]='0'+Addr % 10;
UARTReadDataBuf[12]='0'+Addr % 100/10;
UARTReadDataBuf[11]='0'+Addr % 1000/100;
UARTReadDataBuf[10]='0'+Addr % 10000/1000;
UARTReadDataBuf[9]='0'+Addr / 10000;
// UART_Send_Data(UARTReadDataBuf,num);
//num=14;
UART_Send_Data(UARTReadDataBuf,65);
}
STM8L152串口接收,我用STM8+ZIGBEE终端10秒发送一次,但是STM8+路由串口接收再发送就会20秒发送一次
答案:2 悬赏:30 手机版
解决时间 2021-01-04 00:22
- 提问者网友:轮囘Li巡影
- 2021-01-03 17:22
最佳答案
- 五星知识达人网友:怀裏藏嬌
- 2021-01-03 18:53
计数是按照接收与发送之和,你直接把间隔设置为5秒。
全部回答
- 1楼网友:山有枢
- 2021-01-03 19:44
你说呢...
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯