完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32F107共有五个串口,在项目中用了三个串口。其中串口3在默认的情况下,接收与发送端是在PB10与PB11端的。但是看到还有一个映射的串口3的接收与发送端。所以就试着用了一下映射的管脚。接收与发送端分别在PD8与PD9。
开部分映射时,发送端不能正常发出数据,接收端没有验证。也就是说部分映射时,发送端不被映射使用。所以得使用全映射。 映射的关键在下面这个函数: GPIO_PinRemapConfig(GPIO_FullRemap_USART3 , ENABLE); 可以通过库的手册查看这个函数可以全能哪个映射功能。
|
|
相关推荐
16个回答
|
|
我再补充一下,如果是管脚的默认功能的话,就不要开重映射这个功能了。管脚的默认功能只要按常规的来设置就可以了。这个只对像我那样的新手说的。大神就不用看了。如果我的话里有错误,那么就请大神指正。先谢谢啦。
|
|
|
|
在这里给大家提供一段串口初始化代码,这个代码在库手册里能找到的,仅是让初始学者了解一下
void USART3_init(void) { USART_InitStructure.USART_BaudRate = 115200; //这里只对串口3的波特率进行设置 USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; /* Enable GPIO clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE); /* Enable the USART3 Pins Software Remapping */ // GPIO_PinRemapConfig(GPIO_FullRemap_USART3 , ENABLE);//如果使用默认的功能,那就不用重映射了 RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE); /* Configure USART Tx as alternate function push-pull */ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); /* Configure USART Rx as input floating */ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; GPIO_Init(GPIOB, &GPIO_InitStructure); /* USART configuration */ USART_Init(USART3, &USART_InitStructure); //初始化外设 /* Enable USART */ USART_Cmd(USART3, ENABLE); //使能外设 // USART_ITConfig(USART3,USART_IT_TXE,ENABLE); //使能发送中断 // USART_ITConfig(USART3,USART_IT_RXNE,ENABLE); //使能接收中断 } |
|
|
|
|
|
学习了
|
|
|
|
THANK YOU
|
|
|
|
还是不太理解
|
|
|
|
|
|
|
|
|
|
|
|
好长时间没弄STM32了,忘了.应该是实现内部资源共享吧 |
|
|
|
楼主尝试过在初始化中开启接收中断吗?
|
|
|
|
|
|
|
|
|
|
|
|
回帖是美德!!!
|
|
|
|
|
|
|
|
串口4和串口5可以映射的吗?在资料里面没有看到这个部分的介绍
|
|
|
|
回帖是美德
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
969 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
954 浏览 2 评论
2066 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1162 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1587 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 05:13 , Processed in 0.760005 second(s), Total 102, Slave 84 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号