工作中遇到的问题

原创 2015年11月20日 09:23:52

2015/11/20 

  1. STM32 的通用定时器

  1. 1 确定定时器2~7的时钟源


从上图时钟树中,可以知道,定时器2~7的时钟来自于APB1,APB1最大为36MHZ;假设主频72MHZ, APB1使用主频二分频得到,那么APB1 = 36MHZ;APB1的分频因子为2;而定时器的时钟来源于APB1,但是,注意红色标注的位置有这句话: “如果APB1预分频系数=1,则频率不变,否则频率x2”; 此时APB1的分频系数不为                 1,所以给到定时器2~7的时钟,等于APB1 * 2 = 36MHZ * 2 = 72MHZ;这只针对定时器2~7, 对于其他挂在APB1上的外设,时钟源还是36MHZ;

1.2 确定所用定时器的时钟


TIM_TimeBaseStructure.TIM_Period = period - 1;                     
TIM_TimeBaseStructure.TIM_Prescaler = prescaler - 1; 
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV
1;     
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

TIM_TimeBaseInit(pTimerHandler->TIMER, &TIM_TimeBaseStructure);   

以上用于配置定时器的基本信息,包括时钟分频,计数器,计数方式和 TIM_ClockDivision

假设现在定时器2~7的时钟源为72MHZ

TIM_Prescaler : 时钟分频因子;定时器的时钟 = 72MHZ / (TIM_Prescaler+ 1)

TIM_Period: 定时器的计数值;

TIM_CounterMode:定时其的计数方式,TIM_CounterMode_Up 表示向上计数

重点说明TIM_ClockDivision:这并不是对定时器源的时钟分频用的,根据数据手册上的解释,如下:


这里并没有明确说明该变量作何用处,所以设置该位对于定时器的时钟没有任何影响,一般设置为TIM_CKD_DIV1;也就是0;

所以定时器每计数一次的时间 = (TIM_Prescaler / 72000 000)s;

每次计数TIM_Period次产生一次中断;也就是定时器的中断时间 = TIM_Period * (TIM_Prescaler / 72000 000);


2012年末工作中遇到的问题总结及感悟

新知识总结: 1:单点登录 验证系统;系统1; 系统2; 系统3;单独项目提供服务的思想 + cookie + filter;服务端能够处理客户端coolie 2:SOAP:简单对象访...
  • u013700340
  • u013700340
  • 2014年03月30日 19:36
  • 1079

web前端工程师工作中遇到难以解决的问题

1).margin-top,margin-bottom不能正常显示时 一.有时会遇到外层中的子层使用margin-top不管用的情况;这里我们需要在子层的前后加上一个 div{height:0;...
  • cherry_zhang18
  • cherry_zhang18
  • 2017年07月09日 13:11
  • 1183

java开发中遇到的问题及解决方法(持续更新)

工作中,以C/C++开发为主,难免与其他服务和Web进行交换,Java开发必不可少,又不想动用Eclipse大家伙,只能自己动手编写脚本进行Java代码的编译和运行,期间遇到的一些问题,记录下来供自己...
  • pony12
  • pony12
  • 2014年08月09日 14:39
  • 9615

ssh网摘,工作中遇到的问题

  • 2010年11月04日 13:44
  • 344KB
  • 下载

关于工作中遇到的OFFICE软件运用问题

  • 2014年03月19日 13:38
  • 9KB
  • 下载

2015年工作中遇到的问题:1-10

1.gps 度换算成度分秒 度(DDD):E 108.90593度    N 34.21630度  如何将度(DDD):: 108.90593度换算成度分秒(DMS)东经E 108度54分22.2秒?...
  • waldmer
  • waldmer
  • 2015年08月05日 13:26
  • 870

工作中itext遇到的一些问题,做一下处理总结(2012.06.19)

通过itext生成pdf出现的问题,在JTable2PDF类中,当生成pdf中table的时,出现一个问题。 Cell cell1 = new Cell(newParagraph("Reservoi...
  • f369504543
  • f369504543
  • 2012年06月19日 17:33
  • 2136

工作中遇到的问题之linux设置互信访问

最近在做一个文档同步的功能,选用的是scp功能进行远程文件的传输 大家都知道scp命令是linux下常用的远程文件传输命令,现在工作中需要进行scp命令进行传输,正常情况下scp使用22端口进行通信...
  • fantaosong
  • fantaosong
  • 2016年12月17日 21:37
  • 394

2016年工作中遇到的问题

细节很重要 1.sql  db2计算时间差 select sum(DIVIDE_AMOUNT) from TBL_DIVIDE_REQUEST where LEDGERNO ='100125237...
  • kingo0
  • kingo0
  • 2016年05月19日 14:55
  • 240

工作中遇到的问题(cocos2d-x cocosbuilder 以及周边工具)

1.图片如果需要拉伸 用 9sprite   2.9sprite的图片在用TP打包的时候不能够旋转,如何设置不旋转请看下一条 3.图片用于9sprite的时候,TP打包不能旋转,将Allow ...
  • oMingZi12345678
  • oMingZi12345678
  • 2014年04月02日 18:51
  • 2553
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:工作中遇到的问题
举报原因:
原因补充:

(最多只允许输入30个字)