当前位置:首页 > 单片机 > 单片机
[导读] 1,开发环境 1,适用芯片:STM32F4全部芯片 2,固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 3,IDE:MDK5172,驱动源码 USART.h文件/*************************************************************

1,开发环境

1,适用芯片:STM32F4全部芯片

2,固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0

3,IDE:MDK517


2,驱动源码

USART.h文件

/****************************************************************

* Copyright (C) 2016, XinLi, all right reserved.

* File name: USART.h

* Date: 2016.03.22

* Description: USART Driver

*****************************************************************/

#ifndef __USART_H

#define __USART_H

/****************************************************************

* Header include

*****************************************************************/

#include "stm32f4xx.h"

/****************************************************************

* Macro definition

*****************************************************************/

/********************* USART1 Configuration *********************/

#define RCC_AHB1Periph_USART1_Tx RCC_AHB1Periph_GPIOA

#define RCC_AHB1Periph_USART1_Rx RCC_AHB1Periph_GPIOA

#define GPIO_USART1_Tx GPIOA

#define GPIO_USART1_Rx GPIOA

#define GPIO_Pin_USART1_Tx GPIO_Pin_9

#define GPIO_Pin_USART1_Rx GPIO_Pin_10

#define GPIO_PinSource_USART1_Tx GPIO_PinSource9

#define GPIO_PinSource_USART1_Rx GPIO_PinSource10

/****************************************************************/

/********************* USART2 Configuration *********************/

#define RCC_AHB1Periph_USART2_Tx RCC_AHB1Periph_GPIOA

#define RCC_AHB1Periph_USART2_Rx RCC_AHB1Periph_GPIOA

#define GPIO_USART2_Tx GPIOA

#define GPIO_USART2_Rx GPIOA

#define GPIO_Pin_USART2_Tx GPIO_Pin_2

#define GPIO_Pin_USART2_Rx GPIO_Pin_3

#define GPIO_PinSource_USART2_Tx GPIO_PinSource2

#define GPIO_PinSource_USART2_Rx GPIO_PinSource3

/****************************************************************/

#if defined(STM32F40_41xxx) || defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F469_479xx) || defined(STM32F446xx) || defined(STM32F412xG) || defined(STM32F413_423xx)

/********************* USART3 Configuration *********************/

#define RCC_AHB1Periph_USART3_Tx RCC_AHB1Periph_GPIOB

#define RCC_AHB1Periph_USART3_Rx RCC_AHB1Periph_GPIOB

#define GPIO_USART3_Tx GPIOB

#define GPIO_USART3_Rx GPIOB

#define GPIO_Pin_USART3_Tx GPIO_Pin_10

#define GPIO_Pin_USART3_Rx GPIO_Pin_11

#define GPIO_PinSource_USART3_Tx GPIO_PinSource10

#define GPIO_PinSource_USART3_Rx GPIO_PinSource11

/****************************************************************/

#endif /* STM32F40_41xxx || STM32F427_437xx || STM32F429_439xx || STM32F469_479xx || STM32F446xx || STM32F412xG || STM32F413_423xx */

#if defined(STM32F40_41xxx) || defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F469_479xx) || defined(STM32F446xx) || defined(STM32F413_423xx)

/********************* USART4 Configuration *********************/

#define RCC_AHB1Periph_USART4_Tx RCC_AHB1Periph_GPIOC

#define RCC_AHB1Periph_USART4_Rx RCC_AHB1Periph_GPIOC

#define GPIO_USART4_Tx GPIOC

#define GPIO_USART4_Rx GPIOC

#define GPIO_Pin_USART4_Tx GPIO_Pin_10

#define GPIO_Pin_USART4_Rx GPIO_Pin_11

#define GPIO_PinSource_USART4_Tx GPIO_PinSource10

#define GPIO_PinSource_USART4_Rx GPIO_PinSource11

/****************************************************************/

/********************* USART5 Configuration *********************/

#define RCC_AHB1Periph_USART5_Tx RCC_AHB1Periph_GPIOC

#define RCC_AHB1Periph_USART5_Rx RCC_AHB1Periph_GPIOD

#define GPIO_USART5_Tx GPIOC

#define GPIO_USART5_Rx GPIOD

#define GPIO_Pin_USART5_Tx GPIO_Pin_12

#define GPIO_Pin_USART5_Rx GPIO_Pin_2

#define GPIO_PinSource_USART5_Tx GPIO_PinSource12

#define GPIO_PinSource_USART5_Rx GPIO_PinSource2

/****************************************************************/

#endif /* STM32F40_41xxx || STM32F427_437xx || STM32F429_439xx || STM32F469_479xx || STM32F446xx || STM32F413_423xx */

/********************* USART6 Configuration *********************/

#define RCC_AHB1Periph_USART6_Tx RCC_AHB1Periph_GPIOC

#define RCC_AHB1Periph_USART6_Rx RCC_AHB1Periph_GPIOC

#define GPIO_USART6_Tx GPIOC

#define GPIO_USART6_Rx GPIOC

#define GPIO_Pin_USART6_Tx GPIO_Pin_6

#define GPIO_Pin_USART6_Rx GPIO_Pin_7

#define GPIO_PinSource_USART6_Tx GPIO_PinSource6

#define GPIO_PinSource_USART6_Rx GPIO_PinSource7

/****************************************************************/

#if defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F469_479xx) || defined(STM32F413_423xx)

/********************* USART7 Configuration *********************/

#define RCC_AHB1Periph_USART7_Tx RCC_AHB1Periph_GPIOE

#define RCC_AHB1Periph_USART7_Rx RCC_AHB1Periph_GPIOE

#define GPIO_USART7_Tx GPIOE

#define GPIO_USART7_Rx GPIOE

#define GPIO_Pin_USART7_Tx GPIO_Pin_8

#define GPIO_Pin_USART7_Rx GPIO_Pin_7

#define GPIO_PinSource_USART7_Tx GPIO_PinSource8

#define GPIO_PinSource_USART7_Rx GPIO_PinSource7

/****************************************************************/

/********************* USART8 Configuration *********************/

#define RCC_AHB1Periph_USART8_Tx RCC_AHB1Periph_GPIOE

#define RCC_AHB1Periph_USART8_Rx RCC_AHB1Periph_GPIOE

#define GPIO_USART8_Tx GPIOE

#define GPIO_USART8_Rx GPIOE

#define GPIO_Pin_USART8_Tx GPIO_Pin_1

#define GPIO_Pin_USART8_Rx GPIO_Pin_0

#define GPIO_PinSource_USART8_Tx GPIO_PinSource1

#define GPIO_PinSource_USART8_Rx GPIO_PinSource0

/****************************************************************/

#endif /* STM32F427_437xx || STM32F429_439xx || STM32F469_479xx || STM32F413_423xx */

#if defined(STM32F413_423xx)

/********************* USART9 Configuration *********************/

#define RCC_AHB1Periph_USART9_Tx RCC_AHB1Periph_GPIOG

#define RCC_AHB1Periph_USART9_Rx RCC_AHB1Periph_GPIOG

#define GPIO_USART9_Tx GPIOG

#define GPIO_USART9_Rx GPIOG

#define GPIO_Pin_USART9_Tx GPIO_Pin_1

#define GPIO_Pin_USART9_Rx GPIO_Pin_0

#define GPIO_PinSource_USART9_Tx GPIO_PinSource1

#define GPIO_PinSource_USART9_Rx GPIO_PinSource0

/****************************************************************/

/******************** USART10 Configuration *********************/

#define RCC_AHB1Periph_USART10_Tx RCC_AHB1Periph_GPIOE

#define RCC_AHB1Periph_USART10_Rx RCC_AHB1Periph_GPIOE

#define GPIO_USART10_Tx GPIOE

#define GPIO_USART10_Rx GPIOE

#define GPIO_Pin_U

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

根据IDC预测,中国在人工智能领域的投资预计到2027年将达到381亿美元,占全球总投资的近9%。作为全球人工智能的重要参与者,中国正加速在汽车、通信、医疗、金融等多个行业应用和发展生成式AI技术,全面迈入“AI 2.0...

关键字: AI 内存 DDR5

8月17日消息,近日,超频爱好者“saltycroissant”成功将海盗船(CORSAIR)DDR5内存超频至12886MT/s,创造了新的世界纪录。

关键字: 内存 DDR5

在高性能服务架构设计中,缓存是不可或缺的环节。在实际项目中,我们通常会将一些热点数据存储在Redis或Memcached等缓存中间件中,只有在缓存访问未命中时才查询数据库。

关键字: 缓存 内存

7月25日消息,由于供应短缺,最近一段时间DDR4内存频繁出现涨价、缺货等现象。

关键字: DDR4 内存

7月10日消息,JEDEC今天正式发布了LPDDR6内存标准,规范编号JESD209-6,可显著提升移动设备、AI应用的性能、能效、安全。

关键字: LPDDR6 内存

7月6日消息,由于供应短缺,DDR4内存价格在过去几个月内大幅上涨,甚至超过了DDR5内存,这一现象促使一些厂商重新考虑延长DDR4内存的生产。

关键字: DDR4 内存

上海 2025年6月23日 /美通社/ -- 近期,黑芝麻智能分享了其如何通过零拷贝共享内存技术,解决车载多域间大数据传输的延迟与资源消耗问题。核心技术包括全局内存管理单元和dmabuf机制优化,显著降低CPU负载与D...

关键字: 内存 数据传输 大数据 BUF

6月16日消息,“至少十年没看过现货价单日涨幅这么大”,一位从业者表示。

关键字: DDR4 内存

基于美光 LPDDR5X 内存和 UFS 4.0 存储解决方案,合力打造 Motorola 功能强大的翻盖手机

关键字: LPDDR5X 内存 AI

AIPC作为新兴且高速增长的应用领域,对内存性能的推动作用十分显著。一方面,它直接驱动了内存技术规格的更新换代和高带宽、低延迟的内存架构的发展;另一方面,也间接推动了内存模块的电源管理技术、信号完整性控制和可靠性设计的全...

关键字: AIPC 内存 LPCAMM Rambus PMIC PMIC5200 PMIC5120
关闭