如题,我程序用的是485通讯,在主程序中加入了RS485_Init(115200);这个初始化函数,如下:void RS485_Init(u32 bound)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;// GPIOB.11,RS485方向控制
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
USART1_Init(bound);
}
这个函数我一直用的好好的,前几天生产了一批板子芯片还是STM32F103RBT6 怎么突然就不能正常收发数据了,又的板子能进串口接收中断,但该发送出来的数据只能通过USB转TTL接收到,插上我原本配的433M模块就发不出来,这个问题也 太妖了吧。一开始我以为是STM芯片有问题,今天换了2批4片不同批次相同型号的STM32芯片 也都不行,刚无意中把这个初始化程序改为USART1_Init(115200);就立马能收发了,我也是醉了,各位同行吗,有没有接触过这个问题呢,我搞了2天了都,关键出货都2K多了 居然发现这个问题
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>