单片机/MCU论坛
直播中

马灿宏

9年用户 3经验值
擅长:电源/新能源 模拟技术 EMC/EMI设计 嵌入式技术 存储技术 处理器/DSP 控制/MCU RF/无线 模拟技术 EMC/EMI设计 嵌入式技术 存储技术 处理器/DSP 控制/MCU 模拟技术 EMC/EMI设计 嵌入式技术 存储技术 处理器/DSP 控制/MCU 嵌入式技术 模拟技术 EMC/EMI设计 存储技术 处理器/DSP 控制/MCU
私信 关注
[问答]

求指教:STM32 无论配置奇偶校验,示波器显示校验位都为高,怎么改正呢?程序如下:

                if(type == UART_STA_SEND_INT)
            {
                                GPIO_ResetBits(GPIOA,GPIO_Pin_4);//D/r置1,输入有效,微处理器可以向RS-485总线发送数据字节
                          RS485_UART->CR1 = (USART_WordLength_9b//有校验位,用9位发送。
                                                                |USART_Parity_Even//偶校验
                                                                |USART_Mode_Tx);//接收有效
                        RS485_UART->CR2 = USART_StopBits_1;//停止位
                        RS485_UART->CR3 |= USART_HardwareFlowControl_None;//硬件流控
                                if(SysDefine.UplinkBps == BPS9600)
                                {RS485_UART->BRR  = TXDPDC_BADU_9K6;        }                       
                                else if(SysDefine.UplinkBps == BPS38400)
                                {RS485_UART->BRR  = RXDPDC_BADU_38K4;        }
                                else if(SysDefine.UplinkBps == BPS19200)
                                {RS485_UART->BRR  = RXDPDC_BADU_19K2;        }
                                else
                                {
                                        RS485_UART->BRR  = TXDPDC_BADU_9K6;       
                                }
                        GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_2;                         //PA2,PA3,TX有效即可|GPIO_Pin_3
                        GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF;                         //推挽输出
                        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
                        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
                        GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL;
                        GPIO_Init(GPIOA, &GPIO_InitStructure);
                  USART_ITConfig(RS485_UART, USART_IT_TC, ENABLE);                //开启接收中断部分
            }


感觉上没什么错误啊,为什么示波器波形显示校验位总是高呢,无论配置奇、偶、无校验??求指教!!!怎么改才能搞好啊?

已退回1积分

回帖(1)

jinyi7016

2015-11-18 22:13:27
|USART_Mode_Tx);//接收有效
这一句是你注释错了,还是配置错了。
通讯能不能通上?用串口助手先试试,
举报

更多回帖

发帖
×
20
完善资料,
赚取积分