我的stm32f100串口接收正常,发送有固定的错误,什么原因? 本帖最后由 zjr0411 于 2017-3-20 16:36 编辑 之前用的f103,串口正常使用,一直非常稳定,从来没发现有问题 由于用的外设很少,就用了f100c8这个芯片,但是串口却不能正常使用, 表现为接收正常,发送出来电脑接收的不正常,比如 发送十进制的:0 //Uart1PutString(“0 ”); 接收到的数字用十六进制显示为:30 B1 B2 33 B4 35 36 B7 B8 39 8D 0A 错误一直都是固定这几个错误,如果f100一直发0x01(此处描述错误,应该是发送字符1,也就是0x31,谢谢楼下指正),那电脑接收到的一直都是0xb1 串口初始化程序如下: void USART1_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; /* config USART1 clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE); /* USART1 GPIO config */ /* Configure USART1 Tx (PA.09) as alternate function push-pull */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); /* Configure USART1 Rx (PA.10) as input floating */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure); /* USART1 mode config */ USART_InitStructure.USART_BaudRate = UART_BPS; USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_Even ; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; USART_Init(USART1, &USART_InitStructure); // RCC->APB2RSTR|=1<<14; //¸´Î»´®¿Ú1 // RCC->APB2RSTR&=~(1<<14);//Í£Ö¹¸´Î» NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;//BSP_INT_ID_USART1;USART1_IRQHandler NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); USART_ITConfig(USART1, USART_IT_TC, ENABLE); USART_Cmd(USART1, ENABLE); /* CPUµÄСȱÏÝ£º´®¿ÚÅäÖúã¬Èç¹ûÖ±½ÓSend£¬ÔòµÚ1¸ö×Ö½Ú·¢ËͲ»³öÈ¥ ÈçÏÂÓï¾ä½â¾öµÚ1¸ö×Ö½ÚÎÞ·¨ÕýÈ··¢ËͳöÈ¥µÄÎÊÌâ */ USART_ClearFlag(USART1, USART_FLAG_TC); /* Çå·¢ËÍÍê³É±êÖ¾£¬Transmission Complete flag */ } 现在该往哪里想办法解决这个问题?谁知道解决办法的请告知,谢谢!
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/34400.html