完善资料让更多小伙伴认识你,还能领取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是不能接收的
|
|
|
|
|
|
用错宏了,哎,导致电源 总线有问题
|
|
|
|
|
|
已解决,还是粗心啊,这就是拷贝程序的弊端吧,要是自己一点点写就不会出这种问题,╮(╯▽╰)╭
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1201 浏览 1 评论
1049 浏览 0 评论
915 浏览 0 评论
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
5084 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
3882 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-13 03:55 , Processed in 0.955474 second(s), Total 92, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
990