1、当把IO口当作按键使用时:若按下按键为低电平则IO口应设置为上拉输入;若按下按键为高电平则IO口应设置为下拉输入。
2、KEIL4.7版本有个语法检查功能,今天发现当文件夹为大写的英文时,会误报找不到该文件里的头文件,但是实际是可以打开和正常使用的,把文件夹的名称改为小写就可以了。
3、当STM32的响应IO口重映射时,一定要初始化复用时钟,IO口输出一定要设置为复用推挽输出,不能设置为推挽输出。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE); //使能GPIO外设和AFIO复用功能模块时钟
GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE); //Timer3部分重映射 TIM3_CH2->PB5
//设置该引脚为复用输出功能,输出TIM3 CH2的PWM脉冲波形 GPIOB.5
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //TIM_CH2
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO
此处GPIO_InitStructure.GPIO_Mode设置为GPIO_Mode_AF_PP不能设置为GPIO_Mode_Out_PP。
关键字:STM32 IO口 设置
引用地址:
STM32的IO口的设置
推荐阅读最新更新时间:2024-03-16 14:55
【STM32CubeMX】12,STM32之SPI串行FLASH
1,野火的自带版本讲的还不错,综合多方的资料看比较好 (1) SS ( Slave Select):从设备选择信号线,常称为片选信号线,也称为 NSS、CS,以下用 NSS 表示。当有多个 SPI 从设备与 SPI 主机相连时,设备的其它信号线 SCK、MOSI及 MISO 同时并联到相同的 SPI 总线上,即无论有多少个从设备,都共同只使用这 3 条总线;而每个从设备都有独立的这一条 NSS 信号线,本信号线独占主机的一个引脚,即有多少个从设备,就有多少条片选信号线。I2C 协议中通过设备地址来寻址、选中总线上的某个设备并与其进行通讯;而 SPI 协议中没有设备地址,它使用 NSS 信号线来寻址,当主机要选择从设备时,把该从
[单片机]
通用定时器-输入捕获实验
本节定时器PWM输出主要涉及到定时器框图左下方部分,即输入捕获部分 输入捕获工作过程(以通道1为例) 一个通道的框图: 作用:捕获TIMx_CH1通道信号的跳变,并触发捕获中断 我们将此过程拆分为4个部分 1,设置输入捕获滤波器 fDTS是根据TIMx_CR1-CKD 的设置确定的 如果TIMx_CR1-CKD 设置为00,则fTDS=fCK_INT = 72Mhz 如果TIMx_CR1-CKD 设置为10,则fTDS=fCK_INT / 4 = 18Mhz TIMx_CCMR1-ICF 输入捕获1滤波器,设置输入采样频率和数字滤波长度 如果TIMx_CCMR1-IC1F =0011,采样频率fSAMP
[单片机]
基于stm32的8m晶振不起振的原因解析
STM32板子突然出了大问题。所以延时函数都变慢9倍。 我的延时函数是用的SysTick函数精确延时。 因为第一步需要初始化时间,一般8M的晶振我们都要初始化72.因为系统一般都是倍频9倍的。 但是今天貌似是系统没有倍频9倍。 所以才导致整体时间是原来9倍长。 后来发现倍频是在 RCC_HSEConfig(RCC_HSE_ON); HSEStartUpStatus = RCC_WaitForHSEStartUp(); if(HSEStartUpStatus == SUCCESS) 成功后才设置的如果HSEStartUpStatus不等于1那么就不会执行倍频。也就是说只能使用内部自带的8M晶振了。 后来单步调,发现确实是这个HS
[单片机]
STM32示波器 信号发生器
简介:关于stm32的示波器,网上以经有很多了。这里还是想把自己的设计思想发表出来。这个项目已经准备了很久。这里首先要感谢以前的团队,非常感觉陈师和覃总两位经验丰富的嵌入式工程师,获得了不少多方面的考虑。如果不是工作调整等原因,很有可能会出产品。但最后没有做完深感遗憾。这里发表下我的设计流程,希望能给做示波器的朋友有一定的帮助。也是让自己对此项目的一个总结。 本示波器有效测量频率0.1 ~ 100KHz 双通道 集成信号发生器 时间轴每格 1,2,5递增范围:2us ~ 1s 时间轴每屏12格 硬件结构: 主芯 stm32zet6 触摸屏 SSD1289 320*240 RGB565 AD: STM32内部ADC
[单片机]
STM32有哪几种定时器 STM32高级定时器有哪些功能
在数字电路中时钟是整个电路的心脏,电路的的一举一动都是根据时钟节拍下进行的,随着信息量逐渐提高,对硬件信息处理能力提出了更大的需求,时钟作为数字硬件的关键成员,其性能需要我们关注,尤其在高速电路设计中对模拟转换芯片对时钟性能有很高的需求,因此正确选择时钟是很关键的一步,前提是我们要了解时钟的关键参数咯。在数字电路中最常见的时钟元件有晶振和锁相环、时钟缓冲器等,本节对外部定时器进行重点讲解。 STM32 定时器专题讲解 SysTick定时器的功能比较单一,主要是供给系统使用的,系统默认设置为1ms触发一次中断。而用户想要使用自己的定时器,STM32提供的用户定时器不但数量多且功能更加强大。不同型号的STM32提供的定时器数量不同
[单片机]
基于STM32单片机的RFID和云平台仓库管理系统设计
一.系统设计 通过STM32单片机进行主控,通过RFID检测刷卡状态 ,光电检测模块检测存货区域,检测到的数据通过ESP01S上传到上位机端进行显示。 图1 系统框图 二.硬件设计 本设计所采用的STM32F103C8T6是以Cortex-3为核心的单片机,使用光电模块进行光电检测,用RFID识别感应并解读信息,检测到的数据会通过串口发送到ESP01S,再发送到上位机端进行显示和监控。 图2 硬件电路 三.软件设计 系统在完成系统初始化后就开始通过IC卡感应模块检测存货与取货状态,检测到的信息通过ESP01S通信模块上传,通过光电识别模块检测判断存货区域。其中若检测到取货刷卡且在区域一,则显示区域1货物减1,否则显示区域2
[单片机]
STM32-嵌入式学习笔记1-使用HSE和HSI配置时钟
RCC主要作用:时钟 设置SYSCLK 设置AHB分频因子····配置好这些因子就能对时钟进行完整的配置。 时钟树如图: 系统时钟的选择是在启动时进行,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的4~16MHz时钟;当检测到外部时钟失效时,它将被隔离,系统自动地切换到内部的RC振荡器,如果使能了中断,软件可以接收到相应的中断。同样,在需要时可以采取对PLL时钟完全的中断管理(如当一个间接使用的外部振荡器失效时)。 多个预分频器用于配置AHB的频率、高速APB(APB2)和低速APB(APB1)区域。AHB和APB的最高频率是36MHz。 编程要领: 1)开启
[单片机]
stm32gpio的工作模式
1、推挽输出 可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补 信号 的控制,总是在一个三极管导通的时候另一个截止。高低电平由 IC 的 电源 决定。 推挽电路是两个 参数 相同的三极管或 MOSFET ,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌 电流 ,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。 2、开漏输出 输出端相当于三极管的集电极,要得到高电平状态需要上拉 电阻 才行。适合于做电流型的驱动,其吸收电流的能力相对强(一般20mA以内)。 3、浮空输入 对于浮空输
[单片机]