double sigmoid(double xx) { return (1 / (1 + exp(-xx*0.05))); } void data_receive(void) { while(a==0)//等待数据发送完成 { delay_ms(100); if(a==1)//接收到数据 { if(USART_RX_STA&0x8000) { len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度 r=len; type=0; for(t=0;t<len;t++)//拷贝数据,将字符转换为十进制数 { str[t]=USART_RX_BUF[t]; //printf("%c\n",USART_RX_BUF[t]); } USART_RX_STA=0; a=0; delay_ms(500); break; } } } }
时间: 2024-01-24 10:19:50 浏览: 166
这段代码看起来是在单片机中使用的,可以看出其中包含了串口通信的功能。具体而言,这段代码的功能是接收串口发送过来的数据,并将其转换为十进制数存储到数组 str 中。其中,等待数据发送完成的部分使用了一个 while 循环,每隔 100ms 检查一次是否已经接收到数据。如果接收到数据,则将其保存到数组 str 中,并将变量 type 设为 0。该函数的整体作用是为了实现串口接收功能,需要与其他函数配合使用才能完成完整的串口通信功能。
阅读全文
相关推荐

















