|
同一个485通信程序在裸机下能正常运行,但是移植到UCOSIII系统中就运行不了,我在UCOSIII中建立了一个485通信任务就是不行呀.
485发送函数
void RS485_Send_Data(u8 *buf,u8 len)
{
u8 t;
RS485_TX_EN=1;
for(t=0;t<len;t++)
{
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);
USART_SendData(USART2,buf[t]);
}
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);
LED1=1; //发放结束后点亮led
RS485_RX_CNT=0;
RS485_TX_EN=0;
在带UCSIII程序中,我在确认发送结束后,设置了一个LED观察结果,LED正确无误的点亮发送成功,但是接收下位机就是收不到数据。
现在一切硬件及接线都原封不动,将程序刷成裸机程序不带操作系统,一切正常。我简直弄糊涂了。 |
|