[嵌入式系统设计(基于STM32F4)][徐灵飞][习题解答](9).pdfVIP

[嵌入式系统设计(基于STM32F4)][徐灵飞][习题解答](9).pdf

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

[嵌嵌⼊⼊式式系系统统设设计计((基基于于STM32F4))][徐徐灵灵飞飞][习习题题解解答答]

((9))

《嵌⼊式系统设计(基于STM32F429)》

第9章课后题参考答案

1.STM32F429定时器计数⽅式有__递增计数__、__递减计数_、___中⼼对齐_。

2.STM32F429计数寄存器是__TIMx_CNT__,⾃动重载寄存器是__TIMx_ARR)_,预分频寄存器是__TIMx_PSC__。

3.若TIMx_PSC=4,则时钟源预分频系数是____5____。

4.若TIMx_ARR=89,则⼀次计数溢出计数次数是___90_____。

5.什么是PWM信号?什么是占空⽐?请绘图举例。

答:

PWM(PulseWidtModulation):脉冲宽度调制,简称脉宽调制。

PWM信号:周期内⾼电平占空⽐可调信号。

占空⽐:⼀个周期内⾼电平持续时间与⼀个周期时间⽐值。

6.递增计数模式是从0计数到___ARR_____值,然后产⽣⼀次__溢出事件___。

7.递减计数模式是从_ARR_计数到0值,然后产⽣⼀次向下溢出。中⼼对齐计数模式是先以递增计数模式,从0计数到__

ARR-1___,然后产⽣⼀次向上溢出,再在从___ARR_____计数到____1____,然后产⽣⼀次向下溢出。

8.当使能了⽐较输出功能,输出PWM波,在边沿⽐较模式下,寄存器___ARR_____控制PWM周期,寄存器___CCR___控

制占空⽐。

9.当使能了⽐较输出功能,输出PWM波,在边沿⽐较模式下,当TIMx_CNT计数值在_0~CCR-1寄存器___范围时,输出有

效电平;在CCR~ARR范围时,输出反向电平。

10.定时器TIM2挂载在APB1总线上,假设PCLK1=45MHz,选择内部时钟作为计数时钟源(默认情况下这⼀时钟源频率

=2×PCLK1),TIM2_PSC=8,TIM2_ARR=49,则计数溢出⼀次,时间为多长?怎么计算?

答:

(TIM2_PSC+1)*(TIM2_ARR+1)/=9*50/=5us

11.使⽤内部时钟时,怎么确定各定时器时钟基准频率?

答:

除⾮APB分频系数是1,否则通⽤定时器时钟等于APB时钟2倍。

默认调⽤SystemInit函数情况下:

SYSCLK=180M

AHB时钟=180M

APB1时钟=45M,APB2时钟=90M

APB分频系数分别是4和2

所以,定时器时钟是相应挂载总线时钟2倍。

12.编程序,使⽤TIM1产⽣1s定时。

答:

TIM1挂载在APB2总线上,在系统时钟=180MH时,PCLK2=90MHz,TIM1内部时钟源=PCLK2*2=180MHz。

Tout(定时时间)=1s=(ARR+1)(PSC+1)/1800000000,则可以取PSC=18000-1,ARR=10000-1。

TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;

NVIC_InitTypeDefNVIC_InitStructure;

/*第1步*/

//开启TIM1时钟

RCC_APB2PeripClockCmd(RCC_APB2Perip_TIM1,ENABLE);

/*第2步*/

TIM_TimeBaseStructure.TIM_Period=10000-1;

TIM_TimeBaseStructure.TIM_Prescaler=18000-1;

TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;

TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;

TIM_TimeBaseStructure.TIM_RepetitionCounter=0;

TIM_TimeBaseInit(TIM1,TIM_TimeBaseStructure);

/*第3-1步*/

//开启定时器更新中断

TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE);

文档评论(0)

鱼鱼 + 关注
实名认证
文档贡献者

欢迎互相交流

1亿VIP精品文档

相关文档