近日,调试stm32f103串口3 发现一个奇怪的问题
USART3------------RXD----------PB11 悬空会导致程序频繁进入串口接收中断!!!
//USART3_RX PB11
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化PB11
原因就是 PB11引脚配置成了浮空输入模式!!!!
改成上拉输入问题解决
关键字:STM32 串口3 接收中断
引用地址:
STM32 串口3 总是进入接收中断
推荐阅读最新更新时间:2024-03-16 16:22
意法半导体扩大STM32Cube开发环境,简化单核MPU裸机软件开发
2023 年 12 月 2 0 日, 中国 - 意法半导体新软件帮助工程师把STM32微控制器应用代码移植到性能更强大的STM32MP1微处理器上,将嵌入式系统设计性能提高到一个新的水平。 随着终端用户不断要求日常生活工作设备具有更多的功能和更快的响应速度,设备厂商需要使用有效的解决方案来提高产品性能。工业实时应用是一个典型的例子。 越来越多的加工设备、工厂自动化系统、物流零售技术、物联网设备和数字标牌要求主控制器具有更高的性能,而微控制器(MCU)无法满足性能要求。 意法半导体的STM32MP1微处理器(MPU)专注这些发展趋势,整合性能更强大的ARM®Cortex®-A7应用级体系架构与更高的处理能力
[单片机]
STM32串口通信库的详细代码分享
从箱底捞出来的f103,支持的c语言太基础,虽然性能很高,然而开发时间长难以快速的使用,一开始把 c++那些该有的都搬进来,结果当然是觉得有的函数都没有了。小小的写了一个库用来通过串口来DEBUG 一共有这几个函数,串口为PA9和PA10,在C8T6最小系统上面通过测试 Serial_Begin() 初始化USART,设定波特率 Serial_WriteLine() 传输数据并换行 Serial_Write() 传输数据,没有换行符 例: char str = { THIS IS STM32C8T6 }; void main() { Serial_Begin(115200); while(1) { Serial_WriteL
[单片机]
STM32 串口发送数据(发送一个字节,以及数组)
#include usart1.h //#include //加载MDK 自带的 C 函数 D:KeilC51INC //串口1 配置 void USART1_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; //定义结构体 // 结构体内容在stm32f10x_gpio.h 101行 // 见库函数 P125页 USART_InitTypeDef USART_InitStructure; //定义结构体 // 结构体内容在stm32f10x_usart.h 76行 // 库
[单片机]
STM32:外部晶振时钟配置
void SystemClock_Config(void) { RCC_DeInit(); RCC_HSEConfig(RCC_HSE_ON); //INPUT HSE = 24M ErrorStatus HSEStartUpStatus = RCC_WaitForHSEStartUp(); if(HSEStartUpStatus == SUCCESS) { FLASH_PrefetchBufferCmd(ENABLE); //M0 defined FLASH_SetLatency(FLASH_Latency_1); //M0 defined RCC_PR
[单片机]
STM32学习——EXTI外部中断
EXTI简介 EXTI可以实现对外部输入信号的上升沿检测和下降沿的检测。EXTI可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。 可以看到EXTI一共有20条信号线,即可同时检测来自20路的中断请求。 代码实现 (1)首先配置GPIO初始化结构体 GPIO要配置为浮空输入 void Key_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC,ENABLE); GPIO_I
[单片机]
STM32printf函数实现方法
这几天学习stm32发现利用keil不能正常使用printf函数,所以我去网上找了一下,这是一个网易博主的解决办法,亲测有效: STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK) 在STM32串口通信程序中使用printf发送数据,非常的方便。可在刚开始使用的时候总是遇到问题,常见的是硬件访真时无法进入main主函数,其实只要简单的配置一下就可以了。 下面就说一下使用printf需要做哪些配置。 有两种配置方法: 一、对工程属性进行配置,详细步骤如下 1、首先要在你的main 文件中 包含“stdio.h” (标准输入输出头文件)。 2、在main文件中重定义 /
[单片机]
STM32模拟IIC读取PCF8563
一、首先是对于PCF8563芯片的介绍与使用说明: PCF8563 是PHILIPS 公司推出的一款工业级内含I2C 总线接口功能的具有极低功耗的多功能时钟/日历芯片。PCF8563 的多种报警功能、定时器功能、时钟输出功能以及中断输出功能能完成各种复杂的定时服务,甚至可为单片机提供看门狗功能。是一款性价比极高的时钟芯片,它已被广泛用于电表、水表、气表、电话、传真机、便携式仪器以及电池供电的仪器仪表等产品领域。 多于的我并不想赘述了太多,我会将中英文手册和源码见后;由于PCF8563是IIC通讯的,又据说STM32芯片硬件IIC的问题(至于好不好用我还没试过,都是道听途说),所以采用模拟IIC完成本程序的通讯。 整个实
[单片机]
STM32 USB学习笔记4
主机环境:Windows 7 SP1 开发环境:MDK5.14 目标板:STM32F103C8T6 开发库:STM32F1Cube库和STM32_USB_Device_Library 前面分析了USB的描述符文件,现在分析一下usbd_conf文件,usbd_conf.h文件是配置文件,如下: /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __USBD_CONF_H #define __USBD_CONF_H /* Includes ---------------------
[单片机]