历史上的今天
今天是:2025年08月19日(星期二)
2019年08月19日 | STM32 UART 初始化
2019-08-19 来源:eefocus
因为想用串口3,但配置了很长时间还是不行,为什么UART1,2行,UART3就不行的,最后原因是:使能GPIOB,端口时钟 USART3时钟,我只使能了UART3时钟,没有使能UART3所在端口GPIOB的时钟,所以导致无法正常启动串口3。
下面具体写下串口配置过程:
1:系统时钟初始化,包括系统时钟和要开放的IO口和串口的时钟配置。
2:IO口初始化,包括引脚,速率,输入输出模式等。
3:配置USART的波特率,数据位等。
对应的3个函数,相当有条理
/--------------——————---------------------------------------------------------------------/
void RCC_Configuration(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE); //使能UART3所在GPIOB的时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE); //串口时钟配置
}
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
// Configure USART3 Tx (PB.10) as alternate function push-pull
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
// Configure USART3 Rx (PB.11) as input floating
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
void USART_Configuration(void)
{
USART_InitStructure.USART_BaudRate = 38400;
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;
USART_Init(USART3, &USART_InitStructure);
// 使能 USART3
USART_Cmd(USART3, ENABLE);
}
史海拾趣
|
1、没有统一的行业法规及标准 由于没有形成统一的行业标准,各大、中、小厂家各自为政,种类繁多且互不兼容的产品充斥市场,形成春秋战国时代诸侯争霸的分割局面。 多年前,发达国家就有了智能家居的概念和标准,并随着通信技术和网络技术的发展, ...… 查看全部问答> |
|
C语言编写一个将字符串转成相应的数字的函数,你会怎么编写呢? 最近在编写一个将字符串转换成数字的函数,大概要求如下: 字符串里存放的是一位一位的0~9的数字,按照ASCII方式存放,把它们转换成相应的十进制数字放入一个变量中返回。 例如: str[] = {\'1\',\'2\',\'3\',\'4\'},需要转换成 ...… 查看全部问答> |
|
屏幕尺寸:14.1英寸 重量:2.27Kg 处理器:AMD 炫龙 II M340 主板芯片组:AMD RX881 显卡:ATI HD 4330 光驱类型:DVD刻录机 内存大小:2GB 硬盘大小:320GB 用途 单片机开发 程序开发… 查看全部问答> |
|
最近在做一个pc/104结构的系统,bootrom.sys在目标机硬盘,现需要通过ftp将编译好的vxworks系统文件下载的目标机并运行系统,出了一个问题, 有时能下载成功,有时下载失败,wftpd记录显示传输中止,有时根本就没有收到连接请求。这个问题很郁闷, ...… 查看全部问答> |
|
在PPC2005上调用Imaging API IImagingFactory *fac = .........(创建com) IImage *image; fac.CreateImageFromFile (\"filename\", &image) image->Draw (hdc, &dstRect, NULL); 结果一张480*160的png图片居然用了140多tickcount来draw. (同 ...… 查看全部问答> |
|
在程序中有个跟FPGA相关的驱动,驱动中有个uint32的全局数组用来存放fpga的一个芯片的初始化配置数据,超级大,这些数据又不能动态生产,直接导致编译出的目标文件打了几十K,如何能减小全局变量过大导致目标文件大的问题呢?… 查看全部问答> |
|
VIVI version 0.1.4 (root@Rhvd) (gcc version 2.95.2 20000516 (release) [Rebel.com ]) #0.1.4 Thu May 4 00:58:37 CST 2006 MMU table base address = 0x33DFC000 Succeed memory mapping. NAND device: Manufacture ID: 0xec, Chip ID: 0x7 ...… 查看全部问答> |
|
有谁知道变频器用的功率模块能修吗?我有一些坏的功率模块,不知道能不能修.我在网上找到它的内部结构图.又花了很长很长的时间把它的外壳弄碎,然后又用很长很长的时间,把它打扫干净.并找到了里面损坏的IGBT管.只是我不能把坏的IGBT拆下来,用烙铁不行. ...… 查看全部问答> |




