历史上的今天
返回首页

历史上的今天

今天是: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);

}


推荐阅读

史海拾趣

AnDAPT__Inc.公司的发展小趣事

AnDAPT Inc.是一家专注于可编程电源管理解决方案的创新型公司。以下是关于该公司发展的相关故事:

  1. 公司成立与初期阶段:AnDAPT Inc.成立于2014年,总部位于美国加利福尼亚州圣何塞。公司的创始人之一是Raghunandan "Raghu" Anandan,他在可编程电源管理领域拥有丰富的经验和专业知识。公司成立之初,致力于开发一种新型的可编程电源管理解决方案,以满足日益复杂和多样化的电子设备对电源管理的需求。

  2. 技术创新与产品开发:AnDAPT Inc.在其成立初期即开始着手开发基于可编程电源管理技术的解决方案。公司团队结合了数字信号处理(DSP)和模拟电路设计等领域的专业知识,不断推动技术创新和产品开发。他们的主要产品是基于可编程电源管理器件的芯片,能够根据应用需求动态调整电源管理参数,提供高效、灵活和智能的电源解决方案。

  3. 市场拓展与合作伙伴关系:随着公司技术的不断成熟和产品的不断推出,AnDAPT Inc.开始加大对市场的拓展力度。公司与电子设备制造商、系统集成商以及电源管理解决方案提供商建立了紧密的合作关系,共同推动可编程电源管理技术的应用和推广。通过与行业领先的合作伙伴进行合作,AnDAPT Inc.不断拓展产品的应用领域和市场份额。

  4. 技术认证与市场认可:AnDAPT Inc.的产品经过严格的技术认证和市场测试,在业界获得了良好的口碑和市场认可。公司的可编程电源管理解决方案被广泛应用于各种电子设备,包括消费类电子产品、工业自动化设备、汽车电子系统等。其技术创新和产品性能得到了行业专家和客户的一致好评。

  5. 持续发展与未来展望:作为一家专注于可编程电源管理技术的创新型公司,AnDAPT Inc.将继续致力于技术创新和产品开发。公司将不断推出新的产品和解决方案,满足客户不断变化的需求,并积极参与行业标准的制定和技术进步的推动。在未来,AnDAPT Inc.将继续保持敏锐的市场洞察力和技术领先地位,助力客户实现产品创新和市场竞争优势。

ConnectBlue公司的发展小趣事

尽管已经取得了显著的成就,但ConnectBlue公司并没有止步不前。相反,公司继续坚持创新驱动的发展战略,不断推出新产品、新技术和新服务。同时,公司还积极关注行业发展趋势和未来技术方向,为公司的长期发展做好充分准备。展望未来,ConnectBlue公司将继续致力于无线通信技术的研发和应用,为推动电子行业的进步和发展做出更大的贡献。

这五个故事展示了ConnectBlue公司在电子行业中的发展历程和取得的成就。从创立初期的艰难起步到产品创新的突破、市场拓展的成功、被u-blox收购后的新跨越以及持续创新的未来展望,ConnectBlue公司始终保持着积极进取的精神和不断创新的态度,在无线通信领域取得了显著的成绩。

Compensated Devices Inc公司的发展小趣事

随着全球环保意识的日益增强,电子行业对环保的要求也越来越高。CDI积极响应这一趋势,将环保理念贯穿于产品研发、生产和销售的全过程。公司推出了一系列绿色环保型电子元件,并采用了环保材料和生产工艺。这一举措不仅赢得了客户的认可,还为公司的可持续发展奠定了坚实基础。

博巨兴公司的发展小趣事

博巨兴公司成立于2003年9月,初创时期,公司主要从事芯片代理及项目研发,并与台湾巨虹电子展开了合作。凭借着对市场趋势的敏锐洞察,公司很快取得了台湾义隆公司在华南地区的代理权。随着业务的不断拓展,博巨兴的业绩在短短几个月内就实现了快速增长,全年业绩达到了860万元。

American Micro Products Inc公司的发展小趣事

AMP自创立之初,就专注于微电子产品的研发与生产。在一次技术攻关中,公司的研发团队成功开发出一款具有高性能、低功耗特点的微型芯片,这一创新产品迅速在市场上获得了广泛认可。随着技术的不断迭代,AMP持续推出了一系列具有竞争力的电子产品,逐渐在行业中建立了自己的地位。

CalAmp公司的发展小趣事

在物联网领域,安全问题一直是业界关注的焦点。某年,CalAmp公司运营的一台服务器因配置错误,导致黑客可以通过该漏洞接入账号数据,甚至接管相关车辆。这一事件引起了业界的广泛关注。面对这一挑战,CalAmp公司迅速采取行动,加强了对服务器的安全配置和监控,同时积极与安全专家合作,共同解决存在的安全问题。通过这一事件的应对和改进,CalAmp公司不仅提升了自身的安全防护能力,也为整个物联网行业树立了良好的安全榜样。

这些故事展示了CalAmp公司在电子行业中的发展历程和取得的成就。无论是通过签署全球分销协议拓展市场、推出创新的车队管理解决方案、发展新业务领域还是积极应对物联网安全挑战,CalAmp公司都展现出了其卓越的技术实力和市场竞争力。这些努力不仅推动了公司自身的持续发展,也为整个电子行业的进步做出了积极贡献。

问答坊 | AI 解惑

浅析:阻碍智能家居发展的原因

1、没有统一的行业法规及标准 由于没有形成统一的行业标准,各大、中、小厂家各自为政,种类繁多且互不兼容的产品充斥市场,形成春秋战国时代诸侯争霸的分割局面。 多年前,发达国家就有了智能家居的概念和标准,并随着通信技术和网络技术的发展, ...…

查看全部问答>

C语言编写一个将字符串转成相应的数字的函数,你会怎么编写呢?

最近在编写一个将字符串转换成数字的函数,大概要求如下:   字符串里存放的是一位一位的0~9的数字,按照ASCII方式存放,把它们转换成相应的十进制数字放入一个变量中返回。   例如: str[] = {\'1\',\'2\',\'3\',\'4\'},需要转换成 ...…

查看全部问答>

惠普 4416s(WP439PA) 怎么样

屏幕尺寸:14.1英寸 重量:2.27Kg 处理器:AMD 炫龙 II M340 主板芯片组:AMD RX881 显卡:ATI HD 4330 光驱类型:DVD刻录机 内存大小:2GB 硬盘大小:320GB 用途 单片机开发 程序开发…

查看全部问答>

使用tornado wftpd下载文件问题!!!

最近在做一个pc/104结构的系统,bootrom.sys在目标机硬盘,现需要通过ftp将编译好的vxworks系统文件下载的目标机并运行系统,出了一个问题, 有时能下载成功,有时下载失败,wftpd记录显示传输中止,有时根本就没有收到连接请求。这个问题很郁闷, ...…

查看全部问答>

关于IImage.Draw的速度

在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,如何能减小全局变量过大导致目标文件大的问题呢?…

查看全部问答>

大家帮忙,我的WINCE启动到这里就没了反应.

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拆下来,用烙铁不行. ...…

查看全部问答>