项目 超声波自拍神器源码+讲解

源码:

链接: https://pan.baidu.com/s/17r1dJ3s21KfFIS3HOLDcLA?pwd=lolo 提取码: lolo 复制这段内容后打开百度网盘手机App,操作更方便哦
以下如果格式乱就打开【腾讯文档】超声波自拍神器项目
https://docs.qq.com/doc/DRkhDeXZ3QmJxRWVx

一、  main.c

主函数代码

int main(void)
{
                    
	SystemInit(); //系统时钟配置函数,选择外部8M晶振
  Nvic_Init(); //NVIC初始化	
  LED_Init(); //
	Key_Init();
	sleep_mode();
	//Timer1_Init(488,5);  //16526hz 
	//Timer1_Init(503,5);  //15870hz    拍照
	//Timer1_Init(511,5);  //15617hz
	//Timer1_Init(483,3);  //165260hz     切换摄像头
  while(1)
	{
         
			GPIO_SetBits(LED_PORT ,GPIO_Pin_6);
		  delay_ms(250);
		  GPIO_ResetBits(LED_PORT ,GPIO_Pin_6);
		  delay_ms(250);
			if(flag)
			{
      
					flag = 0;
					PWR_EnterSleepMode(PWR_SLEEPEntry_WFI);
					
			}
			
  }									            	
}

1.  SystemInit(),是库自带的.

.知识点1:systick定时器

1.1概念

SysTick又称滴答定时器。是一个定时设备,位于Cortex-M0内核中,和NVIC捆绑(可以产生中断信号),产生SysTick异常(IRQ异常号15)可以对输入的时钟进行计数,系统定时器一般用于操作系统,用于产生时基,维持操作系统的心跳。(1ms)

1.2systick定时器普通定时器(TIM)区别

SysTick 计数器:

①用途用于生成系统时钟滴答信号从而提供精确时间延迟时间片管理

适用于需要高精度延迟的应用,但功能较为简单。

限制

功能相对简单,主要用于基本的时间延迟和中断生成。

没有像普通定时器那样的复杂功能,例如输入捕获、输出比较、PWM 输出等。

TIM定时器

用途

用于更复杂的定时和计时功能,如周期性中断、PWM 信号生成、输入捕获、输出比较等。

总结: 关于两者怎么选择,如果你的应用只需要简单的周期性中断和时间延迟,SysTick 计数器可能更直接和高效。对于更复杂的应用,特别是那些需要多通道和多模式的情况,TIM 定时器会更适合。

2.Nvic_Init

void Nvic_Init(void)
{
       
	
   NVIC_InitTypeDef  NVIC_InitStructure;
  
	
  /*1--串口中断管理*/
	//配置USART2中断
	 NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;  //中断通道  USART2_IRQn
   NVIC_InitStructure.NVIC_IRQChannelPriority = 0x00;  //中断优先级
   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;  //中断使能
   NVIC_Init(&NVIC_InitStructure);   //调用函数进行初始化   NVIC_Init()用于配置 NVIC 的中断通道  
	//配置KEY1中断
   NVIC_InitStructure.NVIC_IRQChannel = KEY1_BUTTON_EXTI_IRQn;//中断通道  KEY1_BUTTON_EXTI_IRQn
   NVIC_InitStructure.NVIC_IRQChannelPriority = 0x03;  //中断优先级
   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;  //中断使能
   NVIC_Init(&NVIC_InitStructure);
  
  // 可以继续增加,设置中断优先级

 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值