STM32F10X I/O可以通过配置寄存器使能弱上拉或下拉电阻,根据datasheet,这个电阻为:min=20K, typ=30K, max=40K。
STM32F10X I/O的输入可以配置为floating/pull up/pull down三种方式。
对STM32F10X来说,系统reset后I/O的状态为Floating input。所以如果有电路的输入依赖于I/O的电平,必须设置合适的上拉或下拉电阻,否则会出现不定态或者毛刺。
STM32F10X JTAG 输入管脚上电复位后的上拉/下拉状态:
● NJTRST: Internal pull-up
● JTDI: Internal pull-up
● JTMS/SWDIO: Internal pull-up
● TCK/SWCLK: Internal pull-down
用户可以通过软件释放JTAG IO,GPIO控制器会控制这些管脚的状态。
GPIO控制寄存器上电复位后的上拉/下拉状态和JTAG信号一致:
● NJTRST: Input pull-up
● JTDI: Input pull-up
● JTMS/SWDIO: Input pull-up
● JTCK/SWCLK: Input pull-down
● JTDO: Input floating
Standard IO input
VILmax=0.28*(VDD-2 V)+0.8 V
VIHmin=0.41*(VDD-2 V)+1.3 V
在VDD=3.3V时,VILmax=1.164V, VIHmin=1.833
Standard IO Schmitt trigger voltage hysteresis=200mV
对STM32F4XX,情况略有不同。
上拉/下拉电阻阻值:
除了PA10和PB12 的所有管脚:min=20K, typ=30K, max=40K
PA10和PB12管脚: min=8K, typ=11K, max=15K
PA10: USART1_RX/ TIM1_CH3/ OTG_FS_ID/DCMI_D1
PB12: SPI2_NSS / I2S2_WS / I2C2_SMBA/ USART3_CK/ TIM1_BKIN / CAN2_RX / OTG_HS_ULPI_D5/ ETH_RMII_TXD0 / ETH_MII_TXD0/ OTG_HS_ID
JTAG输入管脚上电复位后的上拉/下拉状态和STM32F10X一样。即:
GPIO上电复位后所有IO处于input floating状态 ( 除了PA15(JTDI)=pull-up, PA14(JTCK-SWCLK)=pull-down, PA13(JTMS-SWDIO)=pull-up, PB4(NJTRST)=pull-up )
关键字:STM32 上拉 下拉电阻
引用地址:
STM32的上拉和下拉电阻
推荐阅读最新更新时间:2024-03-16 16:15
STM32的四种输出模式
1、普通推挽输出(GPIO_Mode_Out_PP): 使用场合:一般用在0V和3.3V的场合。线路经过两个P_MOS 和N_MOS 管,负责上拉和下拉电流。 使用方法:直接使用 输出电平:推挽输出的低电平是0V,高电平是3.3V。 2、普通开漏输出(GPIO_Mode_Out_OD): 使用场合:一般用在电平不匹配的场合,如需要输出5V的高电平。 使用方法:就需要再外部接一个上拉电阻,电源为5V,把GPIO设置为开漏模式, 当输出高组态时,由上拉电阻和电源向外输出5V的电压。 输出电平:在开漏输出模式时,如果输出为0,低电平,则使N_MOS 导通,使输 出接地。若控制输出为1(无法直接输出高电平),则
[单片机]
STM32项目(一) —— 展示车座椅
功能:模拟人开车时,ACR和ABL的变化。 主控制器:STM32(CAN,串口,网口,输入,输出) 上位机:LibView ACR:卷收器(座椅上面的安全带) ABL:电机(座椅右下角接安全带的插孔) PUMA:控制器发送CAN给PUMA,PUMA控制ACR和ABL(DBC文件的解析); ACR通过CAN控制,ABL通过PWM控制电机。 STM32硬件接口:按键盒8路输入,网口与工控机软件通信,CAN1直接控制ACR,CAN2给PUMA信号控制ACR,串口与上位机软件通信(控制方向盘震动)。 主要有两块功能:静态模式和游戏模式。 静态模式:UC-WinRoad没工作时,STM32检测到“模式切换”按钮未按下,此
[单片机]
keil5 MDK软件中传统C51与STM32相互兼容的方法
之前单片机刚入门开始学89C51,开发环境为keil4,后来升级到keil5,现在准备学STM32,STM32开发环境为keilMDK,于是找到keilMDK安装包下载之后,才发现他和Atmel、STC的单片机不兼容,于是在百度中寻求让他们兼容的方法,有人说什么更改TOOL文件里的东西,本人尝试了一下也没成功。最近又看到一种方法,十分简单,亲测已经成功完成兼容。于是将此方法写在这里。 1、首先准备普通keil的版本(即C51的,不是MDK版本的),然后按照安装步骤进行安装激活(安装并且进行注册机注册),安装路径任意,但是要记住这个安装路径,因为下一步要用到。 2、第二步进行keilMDK的安装。这是关键性的一步,这一次选择的安
[单片机]
STM32 Flash做为存储器储存数据
说到STM32的FLSAH,我们的第一反应是用来装程序的,实际上,STM32的片内FLASH不仅用来装程序,还用来装 芯片 配置、芯片ID、自举程序等等。当然, FLASH还可以用来装数据。 自己收集了一些资料,现将这些资料总结了一下,不想看的可以直接调到后面看怎么操作就可以了。 FLASH分类 根据用途,STM32片内的FLASH分成两部分:主存储块、信息块。 主存储块用于存储程序,我们写的程序一般存储在这里。 信息块又分成两部分:系统存储器、选项字节。 系统存储器存储用于存放在系统存储器自举模式下的启动程序(BootLoader),当使用ISP方式加载程序时,就是由这个程序执行。这个区域由芯片厂写入
[单片机]
STM32学习笔记——GPIO工作原理(八种工作模式)
STM32F103RCT6一共有4组IO口,一共有16*3+3=51个IO口 GPIOA0~A15 GPIOB0~B15 GPIOC0~C15 GPIOD0~D2 一、GPIO 功能描述 每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。 STM32 的 IO 口可以由软件配置成如下 8 种模式: 1、输入浮空 2、输入上拉 3、输入下拉 4、模拟输入 5、开漏
[单片机]
正点原子 第6讲 STM32芯片解读
1.芯片的资源 选型手册可以看到 芯片的资源 Flash size 是 片上flash的大小 这样一直对应 下去。都可以在 选型手册中来查找 比如他们的内核都是用的 cortex m3内核 一般情况下外部晶振用8M DMA用于高速的数据传输 系统定时器 通常用于ucos的延时 APB2 一般挂载高速外设 APB1挂载低速外设 芯片的引脚与功能是怎么定义的 我们可以在数据手册中找到 引脚对应的功能。 端口的功能会在后面进行介绍。 标注FT的引脚代表容忍5V VDD 连到 3.3V VBAT接电源 VDDA 也是接到3.3V VDD 和 VSS就是数字
[单片机]
【跟着江科大学Stm32】GPIO_LED_流水灯_蜂鸣器
一、LED闪烁 #include stm32f10x.h // Device header #include Delay.h int main(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Spe
[单片机]
STM32 printf问题
STM32 printf问题 怎么老是出现idenfier FILE is Undefined ,问题出在哪啊?望指教,谢谢! 我程序代码配置如下: #include stm32f10x.h #include stm32_eval.h #include stdio.h #ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker- Libraries- Small printf set to 'Yes') calls __io_putchar() */ #define PUTCHAR_PROTOTYPE int __io
[单片机]