当前位置: 首页 > news >正文

蓝桥杯嵌入式赛道复习笔记5(捕获信号发生器的PWM的波形)

原理框图

代码

cubeMX配置

TIM2,TIM3

 代码展示

main(while)

HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2, GPIO_PIN_RESET);
	char buff[20];
	char buff1[20];
	char buff2[20];
  extern TIM_HandleTypeDef htim2;
  extern TIM_HandleTypeDef htim3;
	extern uint32_t fre1;
  extern uint32_t fre2;
	LCD_Init();
	LCD_Clear(Black);
	LCD_SetBackColor(Black);
	LCD_SetTextColor(White);
	HAL_TIM_IC_Start_IT(&htim2,TIM_CHANNEL_1);
	HAL_TIM_IC_Start_IT(&htim3,TIM_CHANNEL_1);
  while (1)
	{
		  sprintf(buff,"        fre        ");
		  LCD_DisplayStringLine(Line1,(uint8_t *)buff);
		  sprintf(buff1,"  fre1_R40=%d",fre1);
		  LCD_DisplayStringLine(Line2,(uint8_t *)buff1);
		  sprintf(buff2,"  fre2_R39=%d",fre2);
		  LCD_DisplayStringLine(Line3,(uint8_t *)buff2);
		
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

中断函数

uint32_t fre1,capture1;
uint32_t fre2,capture2;
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim){
	if(htim->Instance==TIM2){
		capture1=TIM2->CCR1;
		TIM2->CNT=0;
		fre1=80000000/800/capture1;
	}
	if(htim->Instance==TIM3){
		capture2=TIM3->CCR1;
		TIM3->CNT=0;
		fre2=80000000/800/capture2;
	}
}

相关文章:

  • word报告篇:python生成《蔬菜店销售数据分析报告》案例
  • Spring Boot整合Apache BookKeeper教程
  • 网络安全之前端学习(HTML篇)
  • Leetcode322-零钱兑换
  • 如何在 WordPress 中重新生成永久链接?
  • HarmonyOS next性能优化:多维度策略与实战案例
  • Linux C/C++编程——线程
  • C++动态库中的静态调用和动态调用,延迟加载
  • Flutter 学习之旅 之 flutter 使用 connectivity_plus 进行网路状态监听(断网/网络恢复事件监听)
  • Linux操作系统实验报告单(3)文本编辑器vi/vim
  • JAVA多线程中的单例模式
  • 防止重复点击方法总结-微信小程序
  • MySQL 安装指南
  • ElasticSearch 可观测性最佳实践
  • ABAP 长文本编辑器
  • ONE Deep模型:LG AI Research的开源突破
  • hadoop-配置ssh免密登录
  • C语言自定义类型【联合】和【枚举】详解
  • Redis Sentinel(哨兵模式)高可用性解决方案
  • 案例2:逻辑回归预测糖尿病
  • 阿里CEO:将以饱和式投入打法,聚焦几大核心战役
  • 特朗普政府拟终止太空污染研究,马斯克旗下太空公司将受益
  • 光大华夏:近代中国私立大学遥不可及的梦想
  • 以军总参谋长:已进入“决定性打击计划的第二阶段”
  • 圆桌丨权威专家解读中俄关系:在新形势下共同应对挑战、共创发展机遇
  • 售卖自制外挂交易额超百万元,一男子因提供入侵计算机系统程序被抓