江科大stm32学习笔记——【5-2】对射式红外传感器计次&旋转编码计次

一.对射式红外传感器计次

1.原理

 

2.硬件连接

3.程序

CountSensor.c:

#include "stm32f10x.h"                  // Device header
#include "Delay.h"

uint16_t CountSensor_Count;

void CountSensor_Init(void)
{
	//配置RCC时钟:
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
	//EXTI和NVIC时钟一直是打开的
	
	//配置GPIO,端口为输入模式:
	GPIO_InitTypeDef GPIO_InitStruture;
	GPIO_InitStruture.GPIO_Mode = GPIO_Mode_IPU;//上拉输入,可参考手册建议选择
	GPIO_InitStruture.GPIO_Pin = GPIO_Pin_14;
	GPIO_InitStruture.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOB,&GPIO_InitStruture);
	
	//配置AFIO,选择用上一步的GPIO,连接到后面的EXTI:
	GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource14);//配置AFIO的数据选择器
	//将PB14号引脚的电平信号通过AFIO进入到EXTI
	
	//配置EXTI(选择边沿触发方式,选择触发响应方式):
	EXTI_InitTypeDef EXTI_InitStructure;
	EXTI_InitStructure.EXTI_Line = EXTI_Line14;
	EXTI_InitStructure.EXTI_LineCmd = ENABLE;
	EXTI_InitStr
<think>好的,我需要处理用户关于科大STM32学习资料的查询。首先,用户希望获取相关的笔记、教程和资料,同时系统级指令要求我按照特定格回答,包括正确使用LaTeX数学表达,生成相关问题,并在引用末尾添加标识。 首先,我要检查用户提供的引用内容。引用[1]提到了新建工程时复制启动文件的步骤,引用[2]解释了ADC的作用,引用[3]涉及蜂鸣器的接线和代码。这些引用都是用户提供的站内资料,需要正确对应到回答中。 接下来,根据用户的问题,需要整理这些引用内容,给出结构清晰的回答。可能需要分点说明各个笔记的内容,比如新建工程、ADC模块、蜂鸣器配置等。同时,需要确保按照要求使用正确的LaTeX格,例如在涉及数学公的地方用$...$包裹,但根据引用内容,可能暂时没有数学公,所以需要确认是否有必要添加,或者用户的问题是否需要涉及数学部分。不过当前问题主要关于STM32学习资料,可能不需要数学表达,但需遵循系统指令,如果有相关内容则应用。 然后,生成相关问题。根据用户提供的示例,问题应围绕主题展开,例如资料获取方法、ADC的应用、端口配置注意事项等。需要确保问题与引用内容相关,并且帮助用户进一步探索主题。 还需要注意回答的中文要求,以及引用的自然添加。例如,在提到新建工程步骤时,末尾添加[^1],在ADC解释后添加[^2],蜂鸣器接线部分添加[^3]。 现在需要组织回答的结构: 1. 新建工程的步骤(引用[1]) 2. ADC模块的作用(引用[2]) 3. 蜂鸣器配置注意事项(引用[3]) 4. 资料获取途径总结 然后生成相关问题,如资料下载方法、ADC应用实例、避免使用的端口等。 最后,检查是否符合所有系统指令,包括LaTeX的正确使用(虽然当前可能不需要,但如果有变量或代码部分,需正确格化),引用标识的位置,以及问题的相关性。 可能遇到的问题:用户提供的引用中没有涉及数学内容,所以需要确认是否需要强制加入数学表达,但根据问题内容,可能不适用,因此可忽略数学部分,或寻找是否有隐含的数学点。例如,ADC转换可能涉及数字变量的处理,但用户引用中未提到具体数学公,所以可能不需要。因此,重点放在正确引用和问题生成上。 现在开始撰写回答,确保每个引用段落末尾自然添加标识,结构清晰,分点说明,然后列出相关问题。</think>以下是关于科大STM32学习资料的整理与说明: ### 一、科大STM32学习笔记核心内容 1. **新建工程配置** 在STM32工程创建中,需复制启动文件至指定目录。具体步骤为:在官方固件库路径`STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm`中找到8个`.s`启动文件,将其粘贴到工程文件夹内的`Start`目录中[^1]。 2. **ADC模块解析** ADC(模数转换器)用于将模拟电压信号转换为数字变量,例如读取传感器电压值。STM32通过ADC将引脚上的连续电压映射为寄存器中的数字量,供程序进行显示、逻辑判断等操作[^2]。 3. **外设配置注意事项** 以蜂鸣器为例,需选择有源高电平触发类型,接线时注意`GND`接地、`VCC`接正极、`I/O`接指定引脚(如`PB12`)。需避免使用默认调试端口`PA15`、`PB3`、`PB4`,否则需额外配置[^3]。 ### 二、资料获取途径 - **官方教程**:通过科大提供的“STM32入门教程”配套资料获取固件库、示例代码等。 - **实验代码**:参考笔记中的代码片段,如蜂鸣器驱动逻辑: ```c void Beep_Init(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStruct.GPIO_Pin = GPIO_Pin_12; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStruct); } ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值