问题描述 :通过电脑串口工具经过485发送到单片机串口验证问题
现象
1.通过串口助手发送单个字节单片机可以正确接收正确返回
2.单片机发送字符串电脑串口助手可以正确接收数据
3.电脑串口助手发送字符串单片机接收不到正确数据
- void UART_Initializes(void)
- {
- CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART1,ENABLE);
- UART1_Init((uint32_t)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
- UART1_Cmd(ENABLE);
- UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE);
- //UART1_ITConfig(UART1_IT_IDLE, ENABLE);
- GPIO_Init(RS485_RE1_GPIO_PORT, (GPIO_Pin_TypeDef)RS485_RE1_GPIO_PIN, GPIO_MODE_OUT_PP_LOW_FAST);
- RS485_RE1_RE;
- QueueInitial1();
- enableInterrupts();
- }
- INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)
- {
- if(UART1_GetITStatus(UART1_IT_RXNE )!= RESET)
- {
- EnQueue1(UART1_ReceiveData8());
- }
- /* In order to detect unexpected events during development,
- it is recommended to set a breakpoint on the following instruction.
- */
- }
- void EnQueue1(INT8U b)
- {
- r_buf[end++]=b;
- if(end>=MAX_BUF_SIZE)
- {
- end=0;
- }
- count++;
- sem++;//OSSemPost(sem);
- }
|