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

公司公司网站建设公司搜索关键词优化服务

公司公司网站建设公司,搜索关键词优化服务,店铺logo在线免费制作,如何宣传公司目录 1 Tim定时器的时钟源 2 Tim定时器的配置 2.1 PWM配置 2.2 中断配置 3 生成代码 4 测试结果 结尾 1 Tim定时器的时钟源 TIM3的时钟来源自APB1 Timer clocks,时钟树上所有总线频率均设置为了STM32F0能达到的最高频率,此时APB1 Timer clocks …

目录

1 Tim定时器的时钟源

2 Tim定时器的配置

2.1 PWM配置

2.2 中断配置

3 生成代码

4 测试结果

结尾


1 Tim定时器的时钟源

TIM3的时钟来源自APB1 Timer clocks,时钟树上所有总线频率均设置为了STM32F0能达到的最高频率,此时APB1 Timer clocks = 48MHz。

2 Tim定时器的配置

依次选择Pinout&Configuration -- > Timers -- > TIM3,参数配置如下:

Clock Source:选择Internal Clock内部时钟源。TIMInternal Clock来自APB1 Timer clock(MHz)

Prescaler(PSC – 16 bits value):时钟源分频系数(TIMx_PSCPSC),一个计数的时间长度为480/48MHz = 10微妙;

Counter Mode:(TIMx_CR1中的DIR)Up向上计数,Down向下计数,Center Aligned mode1/2/3;

Counter Period(AutoReload Register – 16 bits value):(TIMx_ARR中的ARR一个定时周期的时间,10000 * 10微妙 = 100毫秒;

Internal Clock Division:(TIMx_CR1中的CKD位)时钟分频因子。定义在定时器时钟频率与数字滤波器使用的采样频率之间的分频比例;

RepetitionCounter:配置重复计数器的值,这里设置为0,表示不使用重复计数功能;

auto-reload preload:(TIMx_CR1中的ARPE位)自动重装载预装载允许位。定义在TIMx_ARR和实际的自动重装载寄存器之间是否设置缓冲器;

Trigger Output (TRGO) Parameters :一般是用来设置用作其他外设的触发源的。比如将Trigger Event Selection选择为Update Event,然后在其他外设比如ADC中配置外部触发源时选择该定时器的触发事件(如果可以的话),这样在定时器产生Update Event时就可以启动外设,实现用定时器来控制外设启动的功能;

2.1 PWM配置

Channel 1中,选择PWM Generation CH1,会自动将MCU的PA6配置为TIM3_CH1,通过该PIN输出PWM信号。

PWM的一个周期的时间等于Counter Period的时间100ms,

PWM的Mode选择:

  • PWM mode 1:在向上计数中,当计数值小于CCR值时输出高电平,计数值大于CCR值时输出低电平;在向下计数中,当计数值小于CCR值时输出低电平,计数值大于CCR值时输出高电平;
  • PWM mode 2:在向上计数中,当计数值小于CCR值时输出低电平,计数值大于CCR值时输出高电平;在向下计数中,当计数值小于CCR值时输出高电平,计数值大于CCR值时输出低电平。

Pulse(16 bits value)表示CH Polarity电平的持续时间,这里高电平持续30ms,低电平持续70ms;

Fast Mode:如果频率太高可以使能快速模式。可以大大提高PWM反应时间;同时将IO口输出速度调高。

2.2 中断配置

NVIC Settings中,选择合适的中断优先级并勾选TIM3 global interrupt的中断使能。

3 生成代码

单击GENERATE CODE,生成代码:通过HAL_TIM_Base_Start(&htim3) 启动TIM3TIM3_IRQHandler中断函数间隔100ms被周期调用一次。通过HAL_TIM_PWM_Start启动PWM信号的输出。过程中可通过调用__HAL_TIM_SET_COMPARE来改变占空比。

Main.c

/*** @brief  The application entry point.* @retval int*/
int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_TIM1_Init();MX_TIM3_Init();/* USER CODE BEGIN 2 */demo_init();/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}

stm32f0xx_it.c

/*** @brief This function handles TIM3 global interrupt.*/
void TIM3_IRQHandler(void)
{/* USER CODE BEGIN TIM3_IRQn 0 *//* USER CODE END TIM3_IRQn 0 */HAL_TIM_IRQHandler(&htim3);/* USER CODE BEGIN TIM3_IRQn 1 *//* USER CODE END TIM3_IRQn 1 */
}

demo.c

#include "main.h"
#include "demo.h"
#include "tim.h"#define LED_SWITCH_TIMER       500    // Unit:ms
#define FUNCTION_CALL_CYCLE    1      // Unit:msvoid demo_init(void)
{/********************************Start timer TIM1**********************************/HAL_TIM_Base_Start_IT(&htim1);       /********************************Start timer TIM3**********************************/HAL_TIM_Base_Start_IT(&htim3);        HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);/* PWM generation Error */
}void demo_main(void)
{static uint16_t led_timer = 0;static uint8_t led_flg = 0;		if(led_timer <= (LED_SWITCH_TIMER / FUNCTION_CALL_CYCLE)){led_timer += FUNCTION_CALL_CYCLE; }else{led_timer = 0;if(led_flg == 0){led_flg = 1;HAL_GPIO_WritePin(GPIOB,LED_DO_Pin,GPIO_PIN_RESET);   // ON LED}else{led_flg = 0;HAL_GPIO_WritePin(GPIOB,LED_DO_Pin,GPIO_PIN_SET);     // OFF LED}	}}

4 测试结果

PWM信号占空比30%,一个周期100ms。

结尾

获取更多“汽车电子资讯”和“工具链使用”,

请关注CSDN博客“汽车电子助手”,做您的好助手。

http://www.qie1.com/news/51768.html

相关文章:

  • 营销型网站建设专家百度网站快速排名公司
  • seo属于什么职业部门企业网站seo推广
  • 陕西建设交通集团招聘信息网站新手小白怎么学做运营
  • 深圳专业做网站技术深圳竞价排名网络推广
  • 做零售去哪个外贸网站百度知道合伙人答题兼职入口
  • 都江堰网站建设品牌seo如何优化
  • 郑州网站建设到诺然百度云盘下载
  • 手机传奇手游发布网站微信推广平台收费标准
  • 在重庆 那里可以做诚信网站认证百度推广助手电脑版
  • 永久免费的网站地址东莞今日头条最新消息
  • 做川菜的网站手机版百度入口
  • 个体户怎么做购物网站产品策划方案怎么做
  • 子网站怎么建设什么叫口碑营销
  • 有没有免费的seo网站农产品网络营销策划书
  • 淮北网seo搜索引擎优化技术教程
  • 网站建设公司代理百度做个人简介多少钱
  • 网站建设与维护的试卷广州seo推广营销
  • 郴州市区有什么好玩的地方?试分析网站推广和优化的原因
  • 河南网站seo地址安康地seo
  • 深圳企业网站公司百度网盘app
  • 西安企业网站优秀的营销策划案例
  • 湛江建设工程信息网seo怎么收费seo
  • 周村网站制作价格低百度推广投诉中心
  • 什么样的网站是一个成功的网站关键字挖掘机爱站网
  • ai做网站 如何切图百度关键词排名代做
  • 高端网站建设上百度外包公司有哪些
  • 俄文淘宝网站建设会计培训机构排名前十
  • ui培训班学费多少钱怎么做seo
  • 做网站然后卖小时seo加盟
  • 网站优化软件排行榜seo网站优化培训价格