EDITORIAL
私は前にタイマーに関する多くの記事を書かれているが、そう、ここに私達はこのタイマーで以下の情報をお勧めします、与えられた期間に関連する質問をする友人の舞台裏がたくさん残っています。
私は私の友人の何人かは、メッセージSTM32の公共の数を受けていると考えている、と私はそれが比較的良好な情報提供と思う:STM32タイマー研修資料や一般的な問題の基本的な原則を。
この情報は、私は非常に良い仕上がりを感じ、見てダウンロードした最初の時間です。特に、初心者だけでなく、いくつかの時間のためにたくさんSTM32の友人を学ぶために、マスター・タイマーのすべての面で非常に有用な役割があります。
ただ、このようなAの材料があることを知っている私の友人のアカウントの多くにとり、学び、マスターするには何のダウンロードはありません。だから、今日ここに、いくつかの点を選んで研究をリードします。
ST中国のネットワークをダウンロードし、(最近は)家を入力するには、ホームページ上でこのメッセージを見ることができます。
この情報は、186の合計です。より多くのコンテンツが、うまくカバーしました。
図2に示すように、情報のメインコンテンツ
•STM32のタイマの概要
•タイマーのタイムベースユニット
•タイマインプットキャプチャ機能
•タイマアウトプットコンペア機能
•タイマ・トリガは、カスケードと同期
•タイマーDMAバルク転送
•タイマーによって生成された他の周辺機器に関連したトリガ出力
•STM32F334 / STM32F7 / STM32L4新しいタイマー機能など
•ケーススタディは、上記の[中]に散在
3、STM32タイマ分類
全体的に言えば、多くのSTM32ファミリタイマ、核によると、大きく二つの部分に分け、標準外核:
原子力周辺機器タイマータイマー+
•核タイマー:のSysTick
•周辺機器タイマー:タイマー+従来のアプリケーション固有のタイマー
•アプリケーション固有のタイマー:LPTIM; RTC; WTD; HRTIM
•一般的なタイマー:基本的なタイマ、汎用タイマ、高度なタイマー[この導入強調]
カウンターポイントによってビット幅:
•16ビットタイマ
•32ビットタイマ] [TIM2 TIM5
•24ビットタイマ] [のSysTick
一般的なタイマー
1 ベーシック・タイマ:ほとんど外部入力/出力、多くの場合、時間ベース、基本的なカウント、タイミング関数として用います。
2.一般的なタイマ:タイムベースタイマの基本的な機能に加えて、外部インプットキャプチャ、アウトプットコンペアとセンサインターフェースと、ホールセンサ、エンコーダに接続された他の[]など。
3.高度なタイマー:タイマー、このタイプの機能の最も強力な、汎用タイマのほか、だけでなく、相補出力信号のデッドタイム制御と、例えば、モータ制御およびデジタル電源アプリケーションの機能に関連したいくつかの、非常ブレーキが含まれていますシャットダウン制御入力。
4、STM32のタイマモジュール
STM32 [GM]またはAdvancedタイマ略6つの機能ユニットに分割:
•モードから制御ユニット:ソースクロックを担当して、トリガ信号源の選択、カウンタの起動と停止がリセットとアクセス制御です。
•ときはベースユニット:タイマコアユニット。クロックソースの周波数を担当し、カウント、オーバーフローは次のようにリロード。
•入力手段:クロック信号、捕捉信号、トリガ信号供給源の一部。
•出力部を比較:カウンタの値を比較することと、比較レジスタが異なる出力波形を達成一致。
•トリガ出力単位:タイマまたはその他の周辺機器への出力トリガ信号。
•比較ユニットキャプチャ:インプットキャプチャまたはアウトプット・コンペアユニット公開処刑を。
シグナル・チェーンSTM32のタイマの一般的な理解の視点から:
STM32タイマいくつかの基本的な信号がある:入力信号、クロック信号、トリガ入力信号、トリガ出力信号は、タイマーの様々な機能を示した対応する信号チェーンを形成するために、それらの間に相互。
5、STM32のタイマ機能の概要
(1)6つの機能ユニット
[制御モードからタイムベース、入力、出力、キャプチャ・トリガ出力を比較]
(2)4つの信号
【时钟信号、外部输入信号、触发输入信号、触发输出信号】
(3) 四类事件
【更新事件、捕捉、 比较事件、触发事件】
(4)一大特性
【影子寄存器的预装载特性】
这上面的一些内容掌握了,对定时器基本就没多大问题了,资料中也有详细说明。
6、案例:定时器一使能就进中断的问题
问题描述: TIMER初始化阶段, 经常有人反馈一使能更新中断就就进中断服务程序?给开发带来些困扰,原因可能是什么?如何解决?
因为在定时器的初始化代码里有软件更新操作触发了更新事件,并置位了更新中断标志,当使能更新中断时就立刻进入更新中断服务程序。
在STM32标准库里的TIM_TimeBaseInit( )函数里都有这句代码:
TIMx->EGR = TIM_PSCReloadMode_Immediate;
• 在Cube库里的HAL_TIM_Base_Init( )函数里的 函数有这句代码:
TIMx->EGR = TIM_EGR_UG;
显然,这两行代码使用到了前面提到的软件更新操作,触发了更新事件,置位更新中断标志。所以我们在使能定时器更新中断之前,可以先做更新中断标志的清除操作。
说明:资料中提供了很多案例说明,以及分析,我觉得比较好,方便大家理解。请多理解一下这些案例。
7、时钟源问题思考
1、几种时钟源?来自何处?
2、来自TI1fp1与TIF_ED信号差别是什么?
3、来自TI1/TI2的时钟是否可以直接像内部时钟一样被计数器用来计数?
4、根据时钟源的介绍,你了解到了几种触发输入信号?
5、TI3FP4可以作为通道2的输入捕捉信号吗?
6、TI4FP4可以作为触发信号吗?
好了,篇幅有限,就写到这里。这个资料的内容我基本都看了一遍,可以结合《参考手册》一起学习,有部分内容来自《参考手册》。
希望还不知道,却又想学习并深入理解定时器的朋友尽快下载来看看。
文章作者:嵌入式资讯精选
テキスト転送:https://blog.csdn.net/dp29sym41zygndvf/article/details/85815086