装修选半包还是全包好?10秒估算一下

城市:
>
面积:
输入房子面积
手机:
输入手机号码获取报价

微信加好友 获取详细报价

装修顾问-馨馨

4年行业经验,24h可咨询

10秒闪电通过好友

稍后会有装修顾问为你解读报价

报价短信已发送到您的手机

因材料品牌及工程量不同,具体报价以量房实测为准

稍候装修管家将回电您,免费提供装修咨询服务

您的装修预算约 ?
  • 人工费 ?
  • 材料费 ?
  • 设计费 ?
  • 质检费 ?

*装修管家将回电您,免费提供装修咨询服务

*装修管家将回电您,免费提供装修咨询服务

*因材料品牌及工程量不同,具体报价以量房
实测为准

报价短信已发送到您的手机,注意查收!

装修管家将回电您,免费提供装修咨询服务

装修怕上当?问问靠谱的人

装修顾问 -馨馨

(四年装修行业经验)

微信扫一扫

加好友

广告

装修估价(半包): 0 万元

30分钟内,装修顾问将致电为您解读报价,请注意接听电话!

完善以下信息 让我们更了解您的需求优先为您服务

1. 您家的房屋现状是 :

毛坯房

旧房翻新

局部改造

2. 您家准备什么时候开始装修 :

一个月内

两个月内

两个月以上

3. 您家小区名称 :  

提交

请选择您家的装修时间

stm32高级定时器使用方法是什么?

显示全部
收起
提问者:倪春桃| 绥化| 1488次浏览
我要回答

我来帮他解答

插入图片 ... .png 删除 还可以输入1500

已有3条回答

露水bg48
回答数:4867 | 被采纳数:7

您好, STM32的定时器是个强大的模块,定时器使用的频率也是很高的,定时器可以做一些基本的定时,还可以做PWM输出或者输入捕获功能。从系统框架图下看,名为TIMx的有八个,其中TIM1和TIM8挂在APB2总线上,而TIM2-TIM7则挂在APB1总线上。其中TIM1&TIM8称为高级控制定时器(advanced control timer).他们所在的APB2总线也比APB1总线要好。APB2可以工作在72MHz下,而APB1最大是36MHz。
STM32通用定时器(TIM2-5)基本用法

由上图可知,当APB1 的预分频系数为1 时,这个倍频器不起作用,定时器的时钟频率等于APB1 的频率;当APB1的预分频系数为其它数值(即预分频系数为2、4、8 或16)时,这个倍频器起作用,定时器的时钟频率等于APB1 的频率两倍。也就是,当APB1不分频,TIM3的时钟速度为36MHz,当2分频是,APB1变成18MHz,但是TIM又会倍频,即TIM时钟等于18*2=36MHz。这里我们用向上计数的方式,即TIMx_CNT中的计数值达到TIMx_ARR中的值时,产生中断,TIMx_CNT又从0开始计。

按以下步骤编程:
1.系统初始化,主要初始化时钟等。
2.GPIO初始化,用于LED,有了灯就便于观察了。
3.TIM3的配置。
4.NVIC的配置。
5.编写中断服务函数。

void GPIO_PA_Init()
{//PA8管脚配置
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_DeInit(GPIOA);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP ;//推挽输出
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABLE);//使能端口时钟A
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
void TIMER3_Init()
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_DeInit(TIM3);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
TIM_TimeBaseStructure.TIM_Period=10000;//ARR的值
TIM_TimeBaseStructure.TIM_Prescaler=7200-1;
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);
TIM_Cmd(TIM3, ENABLE); //开启时钟
}
void NVIC_Configuration()
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); // 抢占式优先级别
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQChannel;//指定中断源
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;// 指定响应优先级别1
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
int main(void)
{
Stm32_Clock_Init(9); //系统时钟设置
delay_init(72); //延时初始化
GPIO_PA_Init();
TIMER3_Init();
NVIC_Configuration();
while(1);
}
void TIM3_IRQHandler()
{
if(TIM_GetITStatus(TIM3 , TIM_IT_Update) == SET)
{
TIM_ClearITPendingBit(TIM3 , TIM_FLAG_Update);
if(GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_8)) GPIO_ResetBits(GPIOA, GPIO_Pin_8);
else GPIO_SetBits(GPIOA, GPIO_Pin_8);


还可以输入100 提交答案
回答数:12707 | 被采纳数:5

你看一下STM32的固件说明。 使用其中的一种模式即可。把对应的数据填入对应的寄存器即可。 如果不明白如何写。ST有一个固件的应用说明。你在ST的网站上下载的固件库里面就有对应的实例说明。看一下就知道了。


还可以输入100 提交答案
shilin123456
回答数:11376 | 被采纳数:13

stm32高级定时器使用方法:1调整当前时间操作按钮使用定时器时,须先将定时器的显示时间调整到当前时间。 1.1按住“时钟”键的同时,分别按“星期”、“小时”和“分钟”键,调整到当前的时间。(每按一次增加一小时,长按可快速调整。) 1.2按“时钟”键3秒后,当前时间增加1小时,同时液晶屏显示“夏令时”字样,进入夏令时功能,再按"时钟"键3秒,取消夏令时功能,时间自动减少1小时。 2设置程序 2.1按“设定”键,即可进入定时模式设置,屏幕上显示“1开”。 2.2按“小时”、“分钟”和“星期”,即第一组定时开开始工作的时间。其中,按“星期”键,可选择不同星期组合模式。可根据需求,定时器只在设定的星期数中工作。 2.3再按“设定”键,屏幕上显示“1关”,即第一组定时关闭时间,时间设置参考一开设置方法。依次类推,最多可设置20组开与关。 2.4设置完成后按“时钟”键返回当前时间。插座细节图片注:1.如果每天不需要设定20组,而其他组已设定,必须按“清除”键,将多余各组的时间程序清除。 2.定时设置完成后,应按“设定”键检查多次定时设定情况是否与实际情况一致。如有异,请按时间需要进行调整或重新设定。注:1.如果每天不需要设定20组,而其他组已设定,必须按“清除”键,将多余各组的时间程序清除。 2.定时设置完成后,应按“设定”键检查多次定时设定情况是否与实际情况一致。如有异,请按时间需要进行调整或重新设定。如设置的时间程序是跨天的,需要逐一将“开”与“关”时间程序相对应的星期模式对应好。


还可以输入100 提交答案
没有满意的答案,向专业人士咨询