2019-10-11 14:24发布
yklstudent 发表于 2017-3-21 14:35 楼主不会看代码?
lvkanger 发表于 2017-3-21 15:20 这只是一个初始化啊,也不是发送啊!
yklstudent 发表于 2017-3-21 16:35 昏,楼主你该去搞硬件,软件不合适你;
沧海 发表于 2017-3-21 17:00 这是标志位是把,当你刚入行时候要看1w多行代码,还在一个main.c文件的时候,我想你不会这样想了。
最多设置5个标签!
怎么看?485需要时序?不是直接接的串口,然后收发数据?
volatile u8 com1send_over ;
volatile u8 com1send_index ;
volatile u8 com1send_len ;
volatile u8 com1RecvEndTim ;
volatile u8 com1recv_over ;
volatile u8 com1recv_index ;
volatile u8 com1recv_state ;
if(USART_GetITStatus(USART1, USART_IT_TC) != RESET)
{
USART_ClearITPendingBit(USART1,USART_IT_TC);
USART_ClearFlag(USART1,USART_FLAG_TC);
if(com1send_over==0)
{
//·¢Ëí1×Ö½ú
if(com1send_index>=response.PDUByteLen)//ÅD¶ÏòÑ·¢ËíμÄ×Ö½úêy
{
com1send_over=1;//·¢Ëííê3é±êÖ¾
RS485_LOW;//RS485TC=0;//×¼±¸½óêü
com1rs485tc=0;
com1send_index=1;
com1send_over=0; //·¢Ëí½áêø
com1send_index=1; //·¢ËíË÷òy
com1send_len =0; //·¢Ëí3¤¶è
com1RecvEndTim=0;
com1recv_over=0; //½óêÕ½áêø
com1recv_state=0;
com1recv_index=0; //½óêÕË÷òy
}
else//¼ìDø·¢Ëí
{
if(com1send_index<response.PDUByteLen)
{
USART1->DR=response.PDUDataptr[com1send_index++];//UART2_SendData8()
}
else
{
com1send_over=1;
RS485_LOW;//RS485TC=0;//×¼±¸½óêü
com1rs485tc=0;
com1send_index=1;
com1recv_over=0;
}
}这是发送的代码。这些是定义了一个u8的一些数啊。这和485扯上啥关系了?
这是标志位是把,当你刚入行时候要看1w多行代码,还在一个main.c文件的时候,我想你不会这样想了。
真烦啊,看都不想看 ,一个485通讯,写了900行代码。
一周热门 更多>