完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 jason9031 于 2019-4-2 12:41 编辑
用的野火 RTT 改的 三个串口 dma 接收 接收后处理数据,但是串口一直不能正常发送数据 下面是 C 和 H文件 调用 时停在这里 Uart2 Uart3 都有问题 ,只有四分都在这里花了吧 while(USART_GetFlagStatus(pUSARTx,USART_FLAG_TC)==RESET) RS485_SEND_EN(ON); rt_thread_delay(200); Usart_SendString(RS485_USARTx,Uart3Send); Usart_SendCharCount(RS485_USARTx,Uart3Send,10); 移植官方STM32虚拟串口程序,串口通信死在 while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); 仿真发现USART1时钟味使能。。。 使能时钟后仿真,USART1寄存器有反应,发送数据是仍死在 while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); 上网寻找答案无果。怀疑引脚未配置造成。 配置 GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); /* Configure USB pull-up pin */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOA, &GPIO_InitStructure); 故障依旧 检查发现忘记 USART_Cmd(USART1, ENABLE); 了。。 加上就OK
|
|
相关推荐
1 条评论
3个回答
|
|
串口初始化并使能后到DMA使能之前有数据来,MCU是不能接收的
|
|
|
|
用错宏了,哎,导致电源 总线有问题
|
|
|
|
已解决,还是粗心啊,这就是拷贝程序的弊端吧,要是自己一点点写就不会出这种问题,╮(╯▽╰)╭
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1049 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1017 浏览 2 评论
2123 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1219 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1639 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 07:02 , Processed in 0.817993 second(s), Total 94, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号