STM32 UART4,UART5配置方式

发布者:钱老李最新更新时间:2019-07-22 来源: eefocus关键字:STM32  UART4  UART5  配置方式 手机看文章 扫描二维码
随时随地手机看文章

昨天偶然用到STM32  UART4,UART5两个串口,我开始觉得配置很简单,就简单的配置了,但是怎么都调试部通,我试了1,2串口都没有问题,但是就是4,5不行,我查了一些资料,我相信自己的配置没有错,就是一直调试不通,只能用示波器看了,一看才知道是硬件引脚连错了,电路图上画的就是错的,芯片引脚写的都是错的,我无语了,以后仔细看芯片手册................


配置如下:


/*

 * 函数名:UART4_Config

 * 描述  :UART4 GPIO 配置,工作模式配置。115200 8-N-1

 * 输入  :无

 * 输出  : 无

 * 调用  :外部调用

 */

void UART4_Config(void)

{

                    //使能时钟

                    RCC_APB1PeriphClockCmd(RCC_APB1Periph_UART4, ENABLE);

                    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);


                    //配置接收管脚PC11

                    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;

                    //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

                    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

                    GPIO_Init(GPIOC, &GPIO_InitStructure);

                    //配置发送管脚PC10

                    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;

                    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

                    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

                    GPIO_Init(GPIOC, &GPIO_InitStructure);

                    //波特率、字长、停止位、奇偶校验位、硬件流控制、异步串口为默认(被屏蔽字设置)

                    USART_InitStructure.USART_BaudRate = 115200;

                    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(UART4, &USART_InitStructure);


                    USART_ITConfig(UART4, USART_IT_RXNE, ENABLE);


                    USART_Cmd(UART4, ENABLE);


}


关键字:STM32  UART4  UART5  配置方式 引用地址:STM32 UART4,UART5配置方式

上一篇:STM32F工程移植注意事项
下一篇:STM32F429HAL库UART学习笔记

推荐阅读最新更新时间:2024-11-14 01:27

基于STM32单片机流水灯控制中的GPIO_Init()函数解析
学习STM32时,首先要熟悉流水灯例程,在这里就来分析流水灯中的GPIO_Init()函数 例如:流水灯例程中使用的端口是macLED1_GPIO_PORT=GPIOB, 控制的引脚是GPIO_Pin_0, 引脚的模式是GPIO_Mode_Out_PP(通用推挽输出), 引脚的速率是GPIO_Speed_50MHz, 用到的寄存器是CRL 将上述的引脚、模式、速率换算成32位的16进制,分别是: 1)控制的引脚是GPIO_Pin_0 换算成32位的16进制是:0x0000 0001 2)引脚的模式是GPIO_Mode_Out_PP(通用推挽输出) 换算成32位的16进制是:0x0000 0010 3)引脚的速率是GPIO_Sp
[单片机]
基于<font color='red'>STM32</font>单片机流水灯控制中的GPIO_Init()函数解析
stm32---gpio
该程序是一个入门的小程序,相当于c语言中的hello world!希望对您有所帮助,我尽量把这个程序写的最简单! 程序使用库函数编写,不直接操作寄存器 库版本STM32F10x_StdPeriph_Lib_V3.5.0,开发环境MDK4.12,调试工具是JLINK v8.0,芯片STM32F103C8T6 注意:如果使用3.5的库开发的话,RCC的配置简单了很多,系统默认的情况下调用SystemInit()函数,自动初始化了时钟,只需使能对应的GPIO端口。 view plain copy #include stm32f10x.h //定义GPIO结构体 GPIO_InitTypeDef
[单片机]
stm32---gpio
STM32的CustomHID的各描述符介绍
俗话说的好,看协议手册,不如看源代码来的好!在USB的工程中,USB的各描述符定义在usb_desc.c文件里面,这里就将USB的各描述符定义代码贴上来,各个数值的意义都已经详细注释。当然很细节的东西看不懂还是建议去看手册去!!! /* USB标准设备描述符*/ const uint8_t CustomHID_DeviceDescriptor = { 0x12, /*bLength:长度,设备描述符的长度为18字节*/ USB_DEVICE_DESCRIPTOR_TYPE, /*bDescriptorType:类型,设备描述符的编号是0x01*/ 0x00, /*bcdUSB
[单片机]
stm32软复位 内核复位和系统复位
STM32系统和内核复位 内核复位:它会使STM32内核(Cortex-M)进行复位,而不会影响其外设,如GPIO、TIM、USART、SPI等这些寄存器的复位。 系统复位:这个复位会使整个芯片的所有电路都进行复位,系统默认的函数接口NVIC_SystemReset就是系统复位(位于core_cm*.h)。 1.NVIC_CoreReset内核复位 CM3 允许由软件触发复位序列,用于特殊的调试或维护目的。在CM3中,有两种方法可以执行自我复位。第一种方法,是通过置位 NVIC 中应用程序中断与复位控制寄存器(AIRCR)的VECTRESET 位(位偏移:0)。 这种复位的作用范围覆盖了整个CM3处理器中,除了调试逻辑之外的所
[单片机]
STM32之LWIP网络协议栈移植步骤与方案
1.LWIP介绍 lwip是瑞典计算机科学院网络嵌入式系统小组(SICS)的Adam Dunkels(亚当·邓克尔) 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持 TCP 协议主要功能的基础上减少对RAM的占用。 LwIP是Light Weight(轻型)IP 协议,有无操作系统的支持都可以运行。LwIP 实现的重点是在保持TCP协议 主要功能的基础上减少对RAM的占用,它只需十几KB的RAM和 40K左右的ROM就可以运行,这使LwIP协议栈适合在低端的嵌入式系统中使用。lwip提供三种API: RAW API (NETCONN)lwip API BSD API 2.LWIP源码下载 源码下载地址:LWIP
[单片机]
<font color='red'>STM32</font>之LWIP网络协议栈移植步骤与方案
如何确认STM32时钟配置是否正确
配置STM32F103时钟(HSI)为48M void SystemClock_Config(void) { RCC_DeInit(); RCC_HSICmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET); RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); RCC_PCLK2Config(RCC_HCLK_Div1); RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_12);
[单片机]
Stm32 外部中断EXTI使用说明
硬件情况:采用PA11管脚 需要明确的是,PxN管脚共用外部中断线EXTIN和外部中断向量EXTIN_IRQn和中断服务程序入口EXTIN_IRQHandler,但是需要注意的是 共用EXTI9_5_IRQn和EXTI9_5_IRQHandler、 共用EXTI15_10_IRQn和EXTI15_10_IRQHandler 基本过程: 1、设置时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE); 注意需要打开AFIO时钟 2、配置GPIO GPIO_InitStructure.GPIO_Pin = GPIO_Pin_
[单片机]
STM32 串口 首字节和尾字节少
STM32 串口 发送 必须 先检测 状态,否则 第一个 字节 无法 发出,发送完毕,必须检测发送状态是否完成,否则,发送不成功, 使用stm32f10x调试串口通讯时,发现一个出错的现象,硬件复位重启之后,发送测试数据0x01 0x02 0x03 0x04..接收端收到的数据为:0x02 0x03 0x04,第一个数据丢失。换成发送别的数值的数据,如0x06 0x0ff,则接收到0x0ff,0x06丢失。错误依旧。 故障排除过程: 1、刚开始怀疑是接收端的错误,我是使用电脑串口,运行串口辅助调试工具接收,换成其他软件后,发现故障依旧,而且电脑软件一直是开启状态,不像和电脑软件有关。 2、使用单步调试,单步运行各个发送指
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved