stm8 .PB4/PB5

本文解析了STM32中PB4/PB5端口作为II2C接口时的特性,强调了这些端口仅支持开漏输出,并需要外加上拉电阻才能实现高电平输出。文章通过实例说明了直接将这些端口用于驱动LED或蜂鸣器时可能遇到的问题。
1 .PB4/PB5只有开漏输出,它们为 II2C 端口,要得到高电平需要上拉电阻,由于没有上拉电阻,所以电平上不去,不同于其它的端口可直接输出高电平驱动LED。在此犯过错误,把它们接到三极管基极上去驱动LED和蜂鸣器,结果没有高电平输出,谨记。。。。
提供的引用内容未提及STM32F103芯片PB13和PB14引脚的采集频率相关信息。一般来说,STM32F103芯片引脚的采集频率与多种因素有关,如ADC(模拟 - 数字转换器)的配置、时钟频率等。 在STM32F103中,ADC的转换时间由采样时间和转换时间组成。ADC的时钟频率最大为14MHz,具体的采样时间可以通过寄存器设置为不同的值,如1.5、7.5、13.5等ADC时钟周期。转换时间固定为12.5个ADC时钟周期。 例如,若ADC时钟频率为14MHz,采样时间设置为1.5个ADC时钟周期,那么一次ADC转换的时间为: $T = (1.5 + 12.5) / 14MHz = 1 \mu s$ 对应的采集频率为: $f = 1 / T = 1MHz$ 以下是一个简单的ADC初始化代码示例: ```c #include "stm32f10x.h" void ADC1_Init(void) { ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; // 使能GPIO和ADC时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_ADC1, ENABLE); // 配置PB13和PB14为模拟输入 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_Init(GPIOB, &GPIO_InitStructure); // ADC配置 ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; ADC_InitStructure.ADC_ScanConvMode = DISABLE; ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; ADC_InitStructure.ADC_NbrOfChannel = 1; ADC_Init(ADC1, &ADC_InitStructure); // 配置ADC通道的采样时间 ADC_RegularChannelConfig(ADC1, ADC_Channel_13, 1, ADC_SampleTime_1Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_14, 1, ADC_SampleTime_1Cycles5); // 使能ADC ADC_Cmd(ADC1, ENABLE); // 校准ADC ADC_ResetCalibration(ADC1); while(ADC_GetResetCalibrationStatus(ADC1)); ADC_StartCalibration(ADC1); while(ADC_GetCalibrationStatus(ADC1)); // 启动ADC转换 ADC_SoftwareStartConvCmd(ADC1, ENABLE); } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值