<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>タイマ | 即戦力モノづくり!エンジニアへの道標</title>
	<atom:link href="https://depfields.com/tag/timer/feed/" rel="self" type="application/rss+xml" />
	<link>https://depfields.com</link>
	<description>組み込み（マイコン）スキルを楽しんで学びながら身につけて短期間で効率よく自由自在に扱えるようになりたいと思いませんか？</description>
	<lastBuildDate>Fri, 06 May 2022 07:46:10 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.3</generator>

<image>
	<url>https://depfields.com/wp-content/uploads/2020/07/cropped-favicon-1-32x32.png</url>
	<title>タイマ | 即戦力モノづくり!エンジニアへの道標</title>
	<link>https://depfields.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>圧電ブザー・スピーカーを鳴らしてみよう【STM32 Nucleo】</title>
		<link>https://depfields.com/buzzer-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=buzzer-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Sun, 14 Jun 2020 00:30:25 +0000</pubDate>
				<category><![CDATA[タイマを使ったアプリ]]></category>
		<category><![CDATA[Nucleo]]></category>
		<category><![CDATA[タイマ]]></category>
		<category><![CDATA[割り込み]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=6722</guid>

					<description><![CDATA[<p>圧電ブザー・圧電スピーカーをSTM32マイコン（Nucleoボード） につなげて鳴らしてみましょう。今回は安価な圧電ブザー（形式：LF-MB12B06）を使いました。ペリフェラル　タイマの応用です。詳細はタイマ・カウンタ [&#8230;]</p>
<p>The post <a href="https://depfields.com/buzzer-apl/">圧電ブザー・スピーカーを鳴らしてみよう【STM32 Nucleo】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img fetchpriority="high" width="640" height="426" src="https://depfields.com/wp-content/uploads/2020/10/speaker_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/10/speaker_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/10/speaker_640-300x200.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">圧電ブザー・圧電スピーカーをSTM32マイコン（Nucleoボード） につなげて鳴らしてみましょう。今回は安価な圧電ブザー（形式：LF-MB12B06）を使いました。<strong>ペリフェラル　タイマの応用</strong>です。詳細は<strong><a href="https://depfields.com/timer/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">タイマ・カウンタ【STM32の高機能・汎用タイマ詳細】</a></strong>で解説しています。</p>







<h2 class="wp-block-heading">圧電ブザーの仕様</h2>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">圧電ブザー</span></strong>は発振回路を内蔵しており仕様に応じた電圧をかけると共鳴して音が発生する部品です。これとよく似た部品に<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">圧電スピーカー</span></strong>（サウンダー）がありますが、こちらは発振回路を内蔵しておらず任意の周波数パルスを与えて音を発生させます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>今回のアプリでは圧電ブザー、圧電スピーカー両方で使用できるものに挑戦したいと思います。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/buzzer-lfmb12b06.jpg" alt="" class="wp-image-6733" width="407" height="306" srcset="https://depfields.com/wp-content/uploads/2020/10/buzzer-lfmb12b06.jpg 640w, https://depfields.com/wp-content/uploads/2020/10/buzzer-lfmb12b06-300x225.jpg 300w" sizes="(max-width: 407px) 100vw, 407px" /><figcaption>圧電ブザー外観</figcaption></figure>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/spec-table.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/spec-table.jpg" alt="" class="wp-image-6746" width="374" height="237"/></a><figcaption> ブザー LF-MB12B06 仕様書 </figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>このタイプは極性があり、プラス側(ピン足の長い方）に直流電圧、マイナス側にGNDを接続すると規定の音(2,300Hz)が発生します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>ブザーに与える電圧はマイコン電圧と同じ3.3VDCを与えることにします。固定電圧の場合は連続音、3.3VDCのパルスにすると断続音になります。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">圧電スピーカーの場合は発振回路がない</span></strong>ので直流電圧を与えるだけでは音は発生せず、外部から音に応じた周波数のパルスを与える必要があります。断続音にしたい場合はこの発生パルスを断続的にブロック状態で発生させます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>今回のアプリでは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">圧電ブザー/圧電</span></strong><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">スピーカ</span></strong> <strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ーのどちらでも使用できるもの</span></strong>として、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">任意の周波数をブロック状態で発生</span></strong>させたものを圧電ブザーに与えて音を発生させることにします。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>部品によっては<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">保護抵抗</span></strong>として1k程度のものを<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">直列に接続する</span></strong>必要がありますが、今回のものは抵抗があると機能しませんでしたので使用していません。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">保護抵抗の有無は仕様書等で確認してください</span></strong>。</p>
</div></div></div>



<h2 class="wp-block-heading">圧電ブザーとマイコンとの接続回路</h2>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/buzzer-circuit.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/buzzer-circuit.jpg" alt="" class="wp-image-6735" width="387" height="263" srcset="https://depfields.com/wp-content/uploads/2020/10/buzzer-circuit.jpg 387w, https://depfields.com/wp-content/uploads/2020/10/buzzer-circuit-300x204.jpg 300w" sizes="(max-width: 387px) 100vw, 387px" /></a><figcaption>圧電ブザー/スピーカー接続回路</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>タイマTIM3で<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">一定幅のパルスを任意の間隔で発生</span></strong>させます。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">PWM出力機能</span></strong>を使用すると簡単です。任意の間隔（発生音の頻度）はTIM3タイマのサイクルを設定する <strong>自<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">動リロードレジスタ（ARR）</span></strong> の設定値を調整します。出力パルスの幅（発生音の長さ）はPWM設定の一つで <span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>キャプチャコンペアレジスタ(CCR)</strong></span> の設定値を調整します。タイムチャートで検討しながら設定すればよいです。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>圧電ブザーの場合はこのTIM3の出力（PA6）を与えるだけでよいのですが、圧電スピーカーの場合は各パルスが更に細かい<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">音源の周波数で構成されたもの</span></strong>でなければいけません。そこで、もう1段<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">タイマTIM4を追加</span></strong>します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">タイマTIM4には音源周波数のパルスを出力するように設定</span></strong>して、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">タイマTIM3のパルス出力時にのみタイマTIM4の細かい音源パルスが出力</span></strong>されるようにすればよいのです。デジタル論理回路のAND回路のような感じです。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>この場合は、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">タイマTIM3の出力に同期した割り込み</span></strong>を使います。カウントサイクル毎に発生する<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">更新イベント割り込み</span></strong>とPWM出力の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">キャプチャコンペア割り込み</span></strong>を利用してタイマTIM4のパルスを発生させたり、停止させたりします。</p>
</div></div></div>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"> 割り込みに関しては詳細を <strong><a href="https://depfields.com/interrupt/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">さまざまな割り込み【STM32の割り込み詳細】</a></strong>で解説しています。  </p>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-height"><div class="vk_block-margin-md--height"></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/time-chart2.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/time-chart2.jpg" alt="" class="wp-image-6738" width="562" height="314" srcset="https://depfields.com/wp-content/uploads/2020/10/time-chart2.jpg 574w, https://depfields.com/wp-content/uploads/2020/10/time-chart2-300x168.jpg 300w, https://depfields.com/wp-content/uploads/2020/10/time-chart2-320x180.jpg 320w" sizes="(max-width: 562px) 100vw, 562px" /></a></figure>



<figure class="wp-block-image size-full"><a href="https://depfields.com/wp-content/uploads/2020/10/time-chart1.jpg"><img decoding="async" width="646" height="346" src="https://depfields.com/wp-content/uploads/2020/10/time-chart1.jpg" alt="" class="wp-image-6737" srcset="https://depfields.com/wp-content/uploads/2020/10/time-chart1.jpg 646w, https://depfields.com/wp-content/uploads/2020/10/time-chart1-300x161.jpg 300w" sizes="(max-width: 646px) 100vw, 646px" /></a></figure>



<h2 class="wp-block-heading">プログラム構成</h2>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>プログラムのアウトラインです。今回は割り込みだけで処理しています。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/main.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/main.png" alt="" class="wp-image-6784" width="661" height="440" srcset="https://depfields.com/wp-content/uploads/2020/10/main.png 662w, https://depfields.com/wp-content/uploads/2020/10/main-300x200.png 300w" sizes="(max-width: 661px) 100vw, 661px" /></a><figcaption>ブザーアプリプログラムアウトライン</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>使用するペリフェラルはTIM3とTIM4およびそれぞれGPIOのAポートとBポートです。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/gpio-setting.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/gpio-setting.png" alt="" class="wp-image-6762" width="662" height="365" srcset="https://depfields.com/wp-content/uploads/2020/10/gpio-setting.png 662w, https://depfields.com/wp-content/uploads/2020/10/gpio-setting-300x165.png 300w" sizes="(max-width: 662px) 100vw, 662px" /></a><figcaption>GPIO設定</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>TIM3_CH1の設定です。TIM3_CH1へのカウンタクロックを10kHzに設定して<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">サイクルを自動リロードレジスタARR_TIM3で設定</span></strong>しています。ARR_TIM3が10000の場合はPWMモード時の周期は1秒です。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p> カウント中に自動リロードレジスタARR値を任意に変更したい場合は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">カウンタモードをダウンカウンタに設定</span></strong>しておきます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">カウンタモードはPWMモード1か2に指定</span></strong>します。PWMモードの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">キャプチャコンペアレジスタCCRはメンバTIM_Pulseに設定</span></strong>します。この値でパルス幅を調整できます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>タイマTIM3_CH1のサイクル更新毎に発生する<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">更新イベント割り込みTIM_IT_Update</span></strong>とPWMのキャプチャコンペア時に発生する<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">キャプチャコンペア割り込みTIM_CC1を有効</span></strong>にしてからカウンタを開始します。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/tim3-setting.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/tim3-setting.png" alt="" class="wp-image-6767" width="662" height="342" srcset="https://depfields.com/wp-content/uploads/2020/10/tim3-setting.png 662w, https://depfields.com/wp-content/uploads/2020/10/tim3-setting-300x155.png 300w" sizes="(max-width: 662px) 100vw, 662px" /></a><figcaption> TIM3設定 </figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p> 次にTIM4_CH1の設定です。圧電スピーカーで発生する音源パルスを設定します。このタイマもPWMモードを指定します。メンバTIM_Periodeの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">自動リロードレジスタ(ARR)でパルス周期</span></strong>を、 圧電スピーカーの場合はARRに音源に対応した周波数になるように設定します。メンバTIM_Pulseの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">キャプチャコンペアレジスタ(CCR)で パルス幅</span></strong>を設定します。これは通常ON/OFF比率50%のduty比でよいのではないでしょうか。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>PWMモードで2.5kHzのパルス（duty比50％）が出力する設定になっています。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">発振回路を内蔵している圧電ブザーには</span></strong>TIM4のパルス設定は必要はないので、PWMモードキャプチャコンペアレジスタで<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">パルス幅（duty比）を大きめに設定</span></strong>しておく方が本来の音に近づきます。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/tim4-setting.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/tim4-setting.png" alt="" class="wp-image-6773" width="659" height="213" srcset="https://depfields.com/wp-content/uploads/2020/10/tim4-setting.png 661w, https://depfields.com/wp-content/uploads/2020/10/tim4-setting-300x97.png 300w" sizes="(max-width: 659px) 100vw, 659px" /></a><figcaption>TIM4設定</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>最後に割り込みの設定です。TIM3_CH1のPWM出力<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">キャプチャコンペア割り込み</span></strong> でTIM4_CH1をPWMモードでカウントを開始させます。 TIM3_CH1の カウントサイクル毎に発生する<strong>更新イベント割り込み</strong>でTIM4 _CH1を強制的に出力ゼロにしています。ここでは適当なファームウェア関数の代わりに<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">レジスタを直接操作</span></strong>しています。 </p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/interrupt.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/interrupt.png" alt="" class="wp-image-6766" width="662" height="265" srcset="https://depfields.com/wp-content/uploads/2020/10/interrupt.png 662w, https://depfields.com/wp-content/uploads/2020/10/interrupt-300x120.png 300w" sizes="(max-width: 662px) 100vw, 662px" /></a><figcaption>割り込み処理</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>設定したTIM3とTIM4で発生するパルスは下記のようになります。TIM3のパルスに同期してTIM4が発生しています。今回のアプリ例ではTIM3のパルスは固定ですが、動作中に間隔(ARR)やパルス幅 (CCR) を変更するものに発展させてみてください。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/buzzer-output-pulse.jpg" alt="" class="wp-image-6739" width="462" height="347" srcset="https://depfields.com/wp-content/uploads/2020/10/buzzer-output-pulse.jpg 640w, https://depfields.com/wp-content/uploads/2020/10/buzzer-output-pulse-300x225.jpg 300w" sizes="(max-width: 462px) 100vw, 462px" /><figcaption>タイマTIM3とタイマTIM4の発生パルス</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>実際の圧電ブザー音です。TIM4のPWM出力によるduty比が50%ではすこしかすれた感じの音なので90%程度に設定したら本来の音に近づきました。</p>
</div></div></div>



<!--[if lt IE 9]><script>document.createElement('audio');</script><![endif]-->
<audio class="wp-audio-shortcode" id="audio-6722-1" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://depfields.com/wp-content/uploads/2020/10/buzzer-sound.mp3?_=1" /><a href="https://depfields.com/wp-content/uploads/2020/10/buzzer-sound.mp3">https://depfields.com/wp-content/uploads/2020/10/buzzer-sound.mp3</a></audio>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>発振回路の内蔵していない<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">圧電スピーカーの場合は TIM4によるパルス周波数を変えると音色が変わります</span></strong>ので、TIM3のPWMによりパルス幅を調整して音長を変えたものと組み合わせるといろいろと面白いとおもいます。  </p>
</div></div></div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-height"><div class="vk_block-margin-md--height"></div></div>



<div style="background: #00ccff; padding: 5px 10px; color: #ffffff; border-radius: 10px 10px 0 0;"><strong>コラム</strong></div>
<div style="background: #ffffea; padding: 10px; border: 2px solid #00ccff; border-radius: 0 0 10px 10px;">
<p><strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">オシロスコープの必然性について： <br></span></strong>今回のアプリのようにパルスを扱う場合は特に、想定したとおりに動作をしているかどうかの確認のためにも<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">オシロスコープで確認することが必要</span></strong>です。オシロスコープで実際の波形を確認して初めてプログラムの不具合や改善点などがわかります。今どきのオシロスコープはかつてのような高額なものでなく、扱う周波数帯などの性能にもよりますが一般の人でも取得可能な価格で販売されていますので、<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">テスターとともに保有しておいてほしい計測機器</span></strong>です。</p>
</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-height"><div class="vk_block-margin-md--height"></div></div>



<div style="background: #00ccff; padding: 5px 10px; color: #ffffff; border-radius: 10px 10px 0 0;"><strong>コラム</strong></div>
<div style="background: #ffffea; padding: 10px; border: 2px solid #00ccff; border-radius: 0 0 10px 10px;">
<p><strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">レジスタ操作について</span>： <br /><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">SPL（Standard Periferal Library)</span></strong>で使用できるファームウェア関数が存在すればそれを使えばよいのですが、ちょっとした操作をしたいのに適当な関数がない場合もあります。そんな時はレジスタを直接操作すればよいのですが、SPLの場合は<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">比較的シンプルなファームウェア関数</span></strong>ですので、関数内の<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">レジスタ操作が理解しやすく比較的簡単に応用しやすい</span></strong>です。そういった意味でも<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">マイコンの勉強にはSPLは向いている</span></strong>と思います。</p>
</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-height"><div class="vk_block-margin-md--height"></div></div>



<div class='w3eden'><!-- WPDM Link Template: Default Template -->

<div class="link-template-default card mb-2">
    <div class="card-body">
        <div class="media">
            <div class="mr-3 img-48"><img class="wpdm_icon" alt="アイコン"   src="https://depfields.com/wp-content/plugins/download-manager/assets/file-type-icons/box_download.png" /></div>
            <div class="media-body">
                <h3 class="package-title"><a href='https://depfields.com/download/buzzer-apl/'>ブザーアプリ</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 4.93 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='6951'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div>


<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/buzzer-apl/" target="_blank" rel="external noopener"><div class="lkc-card"><div class="lkc-info"><img class="lkc-favicon" src="https://www.google.com/s2/favicons?domain=en.depfields.com" alt="" width=16 height=16 /><div class="lkc-domain">Most Powerful Bible to Become an Embedded Engineer</div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img class="lkc-thumbnail-img" src="//depfields.com/wp-content/uploads/pz-linkcard/cache/190fae9f0a694703768d612654f8fba039949ccc12d77fc2a28d15c820b83a8e.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Let&#039;s sound a piezoelectric buzzer and speaker [STM32 Nucleo] | Most Pow...</div></div><div class="lkc-url">https://en.depfields.com/buzzer-apl/</div><div class="lkc-excerpt">Let&#039;s connect a piezoelectric buzzer and speaker to an STM32 MCU (Nucleo board) and play them. This time, I used an inexpensive piezoelectric buzzer (model: LF-MB12B06). This is an application of a peripheral timer. For details, see Timer/</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/buzzer-apl/">圧電ブザー・スピーカーを鳴らしてみよう【STM32 Nucleo】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		<enclosure url="https://depfields.com/wp-content/uploads/2020/10/buzzer-sound.mp3" length="111318" type="audio/mpeg" />

			</item>
		<item>
		<title>エンコーダの回転位置測定【STM32 Nucleo】</title>
		<link>https://depfields.com/pulse-position/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pulse-position</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Wed, 26 Aug 2020 02:12:37 +0000</pubDate>
				<category><![CDATA[計測アプリ]]></category>
		<category><![CDATA[計測]]></category>
		<category><![CDATA[タイマ]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=5353</guid>

					<description><![CDATA[<p>STM32のタイマにはエンコーダ２相出力パルスを入力としてアップダウンカウントする機能があります。この機能を使ってロータリーエンコーダからのパルスをアップダウンカウントさせて基準位置からモータが回転した量を計測する方法を [&#8230;]</p>
<p>The post <a href="https://depfields.com/pulse-position/">エンコーダの回転位置測定【STM32 Nucleo】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="350" height="350" src="https://depfields.com/wp-content/uploads/2020/08/encoder-1.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/08/encoder-1.jpg 350w, https://depfields.com/wp-content/uploads/2020/08/encoder-1-300x300.jpg 300w, https://depfields.com/wp-content/uploads/2020/08/encoder-1-150x150.jpg 150w" sizes="(max-width: 350px) 100vw, 350px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">STM32のタイマには<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">エンコーダ２相出力パルスを入力としてアップダウンカウントする機能</span></strong>があります。この機能を使ってロータリーエンコーダからのパルスをアップダウンカウントさせて基準位置からモータが回転した量を計測する方法を解説しています。</p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>この機能を使えば、例えば、モータ軸に直結したエンコーダからのパルスを計測開始時に基準位置としてプリセットしてからアップダウンカウントさせると基準位置からモータが回転した量がわかるのです。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>今回のアプリケーションでは「<strong><a href="https://depfields.com/pulse-speed/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">エンコーダの回転速度測定</a></strong>」で使用する回路と共通です。<br>今回は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">エンコーダ出力の2相パルスを使用しますのでTIM3のCH1とCH2を入力</span></strong>とします。<br>実際のプログラムでの設定を解説していきます。</p>
</div></div></div>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">目的：TIM3のCH1、CH2へプルアップ入力したエンコーダパルスをアップダウンカウントして回転量を測定する<br>■　<strong>プルアップ入力に設定したタイマ</strong>TIM3のチャネルCH1(PA6)/CH2(PA7)を使用<br>■　<strong><strong>エンコーダインターフェースモード</strong>に設定</strong>して、<strong>アップダウンカウント</strong>する<br>■　ユーザースイッチ等で<strong>カウント値を基準位置にプリセットしてからアップダウンカウントを実行</strong>する</p>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/08/peripheral-setting2.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/peripheral-setting2.jpg" alt="" class="wp-image-9035" width="610" height="464" srcset="https://depfields.com/wp-content/uploads/2020/08/peripheral-setting2.jpg 742w, https://depfields.com/wp-content/uploads/2020/08/peripheral-setting2-300x228.jpg 300w" sizes="(max-width: 610px) 100vw, 610px" /></a></figure>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;GPIOおよびタイマTIM３の初期設定</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>タイマの初期設定は「<strong><a href="https://depfields.com/pulse-speed/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">ロータリーエンコーダのパルス速度測定</a></strong>」と同じですので省略します。<br><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">エンコーダインターフェースモード</span></strong>に設定するには<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TIM_EncoderInterfaceConfig()関数</span></strong>を使用します。この関数の使い方詳細は「<strong><a href="https://depfields.com/timer/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">タイマ・カウンタ【STM32の高機能・汎用タイマ詳細】</a></strong>」の「タイマの応用」で解説していますので参照してください。<br></p>
</div></div></div>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;エンコーダカウント値取得およびシリアル通信でPCへ転送</span></p>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2020/08/pulse-position-count.jpg"><img decoding="async" width="657" height="380" src="https://depfields.com/wp-content/uploads/2020/08/pulse-position-count.jpg" alt="" class="wp-image-5361" srcset="https://depfields.com/wp-content/uploads/2020/08/pulse-position-count.jpg 657w, https://depfields.com/wp-content/uploads/2020/08/pulse-position-count-300x174.jpg 300w" sizes="(max-width: 657px) 100vw, 657px" /></a></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>ユーザースイッチを押して任意の値にプリセットします（ここでは上限値32000の中間16000を基準）。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>エンコーダインターフェースモードでCH1,CH2両方のエッジを検出する設定にしている場合は４逓倍となり、180p/r分解能のエンコーダの場合は軸を時計方向に1回転まわすと720増加(または減少)し、反時計方向に1回転回すとその逆の720減少（または増加）していれば成功です。 </p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p> CH1,CH2どちらかのエッジを検出する設定にしている場合は2逓倍になり、1回転あたり360増加（または減少）します。 </p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>モーターの回転位置がわかれば、モータをアクチュエータとして動かす機器で<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">任意の量だけ動作</span></strong>させて止めて次の動作につなげるアプリケーションが実現できるようになります。</p>
</div></div></div>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"> <strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">STM32でのエンコーダカウンタ</span></strong>に関しましては<strong><a href="https://depfields.com/timer" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">タイマ・カウンタ【STM32の高機能・汎用タイマ詳細】</a></strong>の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">外部高速クロックカウンタ-エンコーダインターフェースモード</span></strong>で<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">設定の詳細を解説</span></strong>しています。 </p>



<div class='w3eden'><!-- WPDM Link Template: Default Template -->

<div class="link-template-default card mb-2">
    <div class="card-body">
        <div class="media">
            <div class="mr-3 img-48"><img class="wpdm_icon" alt="アイコン"   src="https://depfields.com/wp-content/plugins/download-manager/assets/file-type-icons/box_download.png" /></div>
            <div class="media-body">
                <h3 class="package-title"><a href='https://depfields.com/download/encoder-position/'>ロータリーエンコーダのパルス回転位置測定</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 6.11 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='5351'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div>



<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/pulse-position/" target="_blank" rel="external noopener"><div class="lkc-card"><div class="lkc-info"><img class="lkc-favicon" src="https://www.google.com/s2/favicons?domain=en.depfields.com" alt="" width=16 height=16 /><div class="lkc-domain">Most Powerful Bible to Become an Embedded Engineer</div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img class="lkc-thumbnail-img" src="//depfields.com/wp-content/uploads/pz-linkcard/cache/dda7bae6b00f49de2f59a3f535968f02233e39e06775d78ee5a00edeac2407fc.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Encoder position measurement [STM32 Nucleo] | Most Powerful Bible to Become a...</div></div><div class="lkc-url">https://en.depfields.com/pulse-position/</div><div class="lkc-excerpt">The STM32 timer has a function to count up and down using encoder 2-phase output pulses as input. This section explains how to use this function to measure the amount of motor rotation from the reference position by up-down counting the pu</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/pulse-position/">エンコーダの回転位置測定【STM32 Nucleo】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>エンコーダの回転速度測定【STM32 Nucleo】</title>
		<link>https://depfields.com/pulse-speed/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pulse-speed</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Wed, 26 Aug 2020 00:48:22 +0000</pubDate>
				<category><![CDATA[計測アプリ]]></category>
		<category><![CDATA[タイマ]]></category>
		<category><![CDATA[計測]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=5315</guid>

					<description><![CDATA[<p>STM32のタイマには外部パルスを計測する機能があります。ロボット等のアクチュエータには位置、速度を検知するセンサとしてエンコーダがよく使われるのですが、エンコーダから回転速度に応じて変化するパルスを計測する方法を紹介し [&#8230;]</p>
<p>The post <a href="https://depfields.com/pulse-speed/">エンコーダの回転速度測定【STM32 Nucleo】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="400" height="400" src="https://depfields.com/wp-content/uploads/2020/08/encoder2.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/08/encoder2.jpg 400w, https://depfields.com/wp-content/uploads/2020/08/encoder2-300x300.jpg 300w, https://depfields.com/wp-content/uploads/2020/08/encoder2-150x150.jpg 150w" sizes="(max-width: 400px) 100vw, 400px" /></div>
<p>STM32のタイマには外部パルスを計測する機能があります。ロボット等のアクチュエータには<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">位置、速度を検知するセンサとしてエンコーダがよく使われる</span></strong>のですが、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">エンコーダから回転速度に応じて変化するパルスを計測する方法</span></strong>を紹介します。</p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>パルス速度は単位時間当たりのカウント数のことですので外部パルスをカウントできる機能を使えればよいわけです。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>今回のアプリケーションで使用するエンコーダは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">オープンコレクタ出力</span></strong>タイプ仕様のものです。オープンコレクタの出力はトランジスタのコレクタが出力端子のタイプでコレクタ、エミッタも開放状態の無電圧接点です。マイコンに接続するにはコレクタ側をプルアップし、エミッタ側はGNDとします。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/08/open-collector-1.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/open-collector-1.jpg" alt="" class="wp-image-5318" width="341" height="275" srcset="https://depfields.com/wp-content/uploads/2020/08/open-collector-1.jpg 308w, https://depfields.com/wp-content/uploads/2020/08/open-collector-1-300x243.jpg 300w" sizes="(max-width: 341px) 100vw, 341px" /></a><figcaption>オープンコレクタ出力のマイコン接続</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>エンコーダパルスをSTM32で計測（カウント）するにはペリフェラルの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">タイマに入力として接続</span></strong>します。下記に接続例を示しますが、<strong>速度計測にはエンコーダ出力の2相のうち1つだけを使用</strong>します。STM32の外部パルス計測機能を使用するには<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">タイマのCH1とCH2だけ</span></strong>で使用できます。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/08/encoder.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/encoder.jpg" alt="" class="wp-image-5319" width="539" height="396" srcset="https://depfields.com/wp-content/uploads/2020/08/encoder.jpg 539w, https://depfields.com/wp-content/uploads/2020/08/encoder-300x220.jpg 300w" sizes="(max-width: 539px) 100vw, 539px" /></a><figcaption>エンコーダ速度計測の接続図</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>実際のプログラムでの設定を解説していきます。</p>
</div></div></div>



<p>目的：TIM3のCH1へプルアップ入力したエンコーダパルスを単位時間毎にカウントする<br>■　<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">プルアップ入力に設定したタイマ</span></strong>TIM3のチャネルCH1(PA6)を使用<br>■　<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">外部クロックモードに設定</span></strong>して、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">アップカウント</span></strong>する<br>■　<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">一定期間ごとに（RTOSを使うと便利）カウント値を取得</span></strong>してから、<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>カウントをリセット</strong></span>する</p>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2020/08/peripheral-setting.jpg"><img decoding="async" width="742" height="568" src="https://depfields.com/wp-content/uploads/2020/08/peripheral-setting.jpg" alt="" class="wp-image-5340" srcset="https://depfields.com/wp-content/uploads/2020/08/peripheral-setting.jpg 742w, https://depfields.com/wp-content/uploads/2020/08/peripheral-setting-300x230.jpg 300w" sizes="(max-width: 742px) 100vw, 742px" /></a></figure>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;GPIOおよびタイマTIM３の初期設定</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>GPIO設定ではエンコーダのオープンコレクタ出力をTIM3のCH1に<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">プルアップ接続</span></strong>します。<br>TIM3設定ではアップカウントに設定しておきます。TIM.Periodにはカウント値がオーバーフローしない程度の値にしておきます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong>外部クロックモード</strong>に設定するには<strong>TIM_TIxExternalClockConfig()関数</strong>を使用します。<br>この関数の使い方詳細は「<strong><a href="https://depfields.com/timer/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">タイマ・カウンタ【STM32の高機能・汎用タイマ詳細】</a></strong>」の「タイマの応用」で解説していますので参照してください。</p>
</div></div></div>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2020/08/pulse-speed-count.png"><img decoding="async" width="597" height="224" src="https://depfields.com/wp-content/uploads/2020/08/pulse-speed-count.png" alt="" class="wp-image-9039" srcset="https://depfields.com/wp-content/uploads/2020/08/pulse-speed-count.png 597w, https://depfields.com/wp-content/uploads/2020/08/pulse-speed-count-300x113.png 300w" sizes="(max-width: 597px) 100vw, 597px" /></a></figure>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;単位時間毎にカウント値取得</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>カウント値を取得するにはTIM_GetCounter（TIMx)を使います。引数は<strong>設定対象タイマTIM3</strong>などを指定します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>このアプリケーション例ではRTOSを使用して100ms毎にカウント値を取得してからリセットしています。シリアル通信によりパルス速度値としてモニターさせているのですが、パルス速度は１secあたりに換算しているものです。エンコーダの分解能180p/rの場合は1秒間にちょうど1回転の速度で回転させてみると<strong>パルス速度値は180</strong>となっていれば成功です。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>エンコーダの速度がわかれば、少し高度になりますが、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">フィードバックすることで厳密な速度コントロールができる</span></strong>ようになります。モーションコントロールの基本ですので挑戦してみてください。</p>
</div></div></div>



<p>  <strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">STM32でのエンコーダ高速パルスカウンタ</span></strong>に関しましては<strong><a href="https://depfields.com/timer" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">タイマ・カウンタ【STM32の高機能・汎用タイマ詳細】</a></strong>の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">外部高速クロックカウンタ-外部クロックモード</span></strong>で解説しています。  </p>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-height"><div class="vk_block-margin-md--height"></div></div>



<div class='w3eden'><!-- WPDM Link Template: Default Template -->

<div class="link-template-default card mb-2">
    <div class="card-body">
        <div class="media">
            <div class="mr-3 img-48"><img class="wpdm_icon" alt="アイコン"   src="https://depfields.com/wp-content/plugins/download-manager/assets/file-type-icons/box_download.png" /></div>
            <div class="media-body">
                <h3 class="package-title"><a href='https://depfields.com/download/encoder-speed/'>ロータリーエンコーダのパルス速度測定</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 6.16 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='5347'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div>



<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/pulse-speed/" target="_blank" rel="external noopener"><div class="lkc-card"><div class="lkc-info"><img class="lkc-favicon" src="https://www.google.com/s2/favicons?domain=en.depfields.com" alt="" width=16 height=16 /><div class="lkc-domain">Most Powerful Bible to Become an Embedded Engineer</div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img class="lkc-thumbnail-img" src="//depfields.com/wp-content/uploads/pz-linkcard/cache/ce96c18d91f2862128c47e81b772ef17e79404289b86c80c4d8a2cacb79c9135.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Encoder speed measurement [STM32 Nucleo] | Most Powerful Bible to Become an E...</div></div><div class="lkc-url">https://en.depfields.com/pulse-speed/</div><div class="lkc-excerpt">The STM32 timer has the ability to measure external pulses. Encoders are often used as sensors to detect the position and speed of actuators such as robots, etc. This section introduces a method to measure pulses that vary with rotation sp</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/pulse-speed/">エンコーダの回転速度測定【STM32 Nucleo】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>可変パルスアプリ【STM32でパルス制御】</title>
		<link>https://depfields.com/tim-variablefreq-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tim-variablefreq-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Sun, 14 Jun 2020 00:18:53 +0000</pubDate>
				<category><![CDATA[タイマを使ったアプリ]]></category>
		<category><![CDATA[タイマ]]></category>
		<guid isPermaLink="false">https://depfields.com/?page_id=3333</guid>

					<description><![CDATA[<p>STM32マイコンのタイマで任意の周波数パルスを制御するアプリケーションです。この例では押しボタンスイッチを押し続けると周波数が変わるのですが、他にいろいろ応用できます。 設定仕様：使用ピン：PB８オルタネート出力（タイ [&#8230;]</p>
<p>The post <a href="https://depfields.com/tim-variablefreq-apl/">可変パルスアプリ【STM32でパルス制御】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="386" height="286" src="https://depfields.com/wp-content/uploads/2020/06/valuable-pulse.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/06/valuable-pulse.jpg 386w, https://depfields.com/wp-content/uploads/2020/06/valuable-pulse-300x222.jpg 300w" sizes="(max-width: 386px) 100vw, 386px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"><strong><a href="https://depfields.com/timer/" target="_blank" rel="noreferrer noopener">STM32マイコンのタイマ</a></strong>で任意の周波数パルスを制御するアプリケーションです。この例では押しボタンスイッチを押し続けると周波数が変わるのですが、他にいろいろ応用できます。</p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>押しボタンスイッチ入力ON時にカウンタ設定値を増減させてタイマ出力の点滅周期を変更するプログラムです。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Systick</span></strong>で10msの割り込みを発生させて、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">SysTick割り込みハンドラ</span></strong>内で<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">カウンタ設定値(arr_val)を増減</span></strong>しています。</p>
</div></div></div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<div style="background: #ffffea; padding: 8px 19px; margin: 2em 0; border-top: solid 10px #00ccff; solid 5px #1a66ff; box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33); word-break: break-all;">
<p><strong>設定仕様：</strong><br><strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">使用ピン：PB８オルタネート出力</span></strong>（タイマ出力）<br><strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">　　　　：PC13 入力</span></strong>（押しボタンスイッチ）<br><strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">使用ペリフェラル：TIM4_CH3</span></strong>カウントクロック1kHz</p>
</div>



<div class='w3eden'><!-- WPDM Link Template: Default Template -->

<div class="link-template-default card mb-2">
    <div class="card-body">
        <div class="media">
            <div class="mr-3 img-48"><img class="wpdm_icon" alt="アイコン"   src="https://depfields.com/wp-content/plugins/download-manager/assets/file-type-icons/box_download.png" /></div>
            <div class="media-body">
                <h3 class="package-title"><a href='https://depfields.com/download/tim-variablefrequency/'>可変周波数パルス</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 3.84 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='3338'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div>



<div style="background: #00ccff; padding: 5px 10px; color: #ffffff; border-radius: 10px 10px 0 0;"><strong>コラム</strong></div>
<div style="background: #ffffea; padding: 10px; border: 2px solid #00ccff; border-radius: 0 0 10px 10px;">
<p>このアプリでは数値の増減に<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">スイッチ入力とSysTick割り込みの組み合わせ</span></strong>を使用していますが、これはアプリの一例です。他に、<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">アナログボリュームからの入力値に応じて数値を変化</span></strong>させたり、<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">シリアル通信による数値の増減</span></strong>などが考えられます。</p>
</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>


<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/tim-variablefreq-apl/" target="_blank" rel="external noopener"><div class="lkc-card"><div class="lkc-info"><img class="lkc-favicon" src="https://www.google.com/s2/favicons?domain=en.depfields.com" alt="" width=16 height=16 /><div class="lkc-domain">Most Powerful Bible to Become an Embedded Engineer</div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img class="lkc-thumbnail-img" src="//depfields.com/wp-content/uploads/pz-linkcard/cache/c7f239d31f3aa639c3e726eef1fd6728b576fff68a68a2a3f81a290b3e7e1d5c.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Variable pulse application [Pulse control with STM32]. | Most Powerful Bible ...</div></div><div class="lkc-url">https://en.depfields.com/tim-variablefreq-apl/</div><div class="lkc-excerpt">This application controls arbitrary frequency pulses with STM32 MCU. In this example, the frequency changes when a pushbutton switch is held down, but it can be applied in many other ways.This program changes the blinking cycle of the</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/tim-variablefreq-apl/">可変パルスアプリ【STM32でパルス制御】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>LEDをマイコンでPWM調光する【STM32 Nucleo】</title>
		<link>https://depfields.com/led-dimming/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=led-dimming</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Sun, 14 Jun 2020 00:20:21 +0000</pubDate>
				<category><![CDATA[タイマを使ったアプリ]]></category>
		<category><![CDATA[タイマ]]></category>
		<category><![CDATA[Nucleo]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=5373</guid>

					<description><![CDATA[<p>マイコンのデジタル出力を使ってLEDを調光するにはどうすればいいのでしょうか。調光するというあたかもアナログ的に明るさを連続でコントロールするのにマイコンのデジタル出力を使って行う手品のような種あかしを解説していきます。 [&#8230;]</p>
<p>The post <a href="https://depfields.com/led-dimming/">LEDをマイコンでPWM調光する【STM32 Nucleo】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="400" height="303" src="https://depfields.com/wp-content/uploads/2020/08/LED-dimming-1.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/08/LED-dimming-1.jpg 400w, https://depfields.com/wp-content/uploads/2020/08/LED-dimming-1-300x227.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">マイコンのデジタル出力を使ってLEDを調光するにはどうすればいいのでしょうか。調光するというあたかもアナログ的に明るさを連続でコントロールするのにマイコンのデジタル出力を使って行う手品のような種あかしを解説していきます。</p>





<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>タイマの応用アプリケーションとしてLED点灯をPMW出力をつかった調光をおこなってみましょう。通常LEDの発光はマイコン出力のON/OFFを切り替えるだけで点灯・消灯ができる<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">デジタル出力の典型的なもの</span></strong>です。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>マイコンのデジタル出力を使って、LEDを調光するにはどうすればいいのでしょうか。調光するというあたかもアナログ的に明るさを連続でコントロールするのにデジタル出力を使って行うのは手品みたいなものですがマイコンを使うと簡単にできてしまうのです。それでは種明かしをしていきましょう。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>通常、LED点灯はマイコン出力をONすると回路がつながり点灯します。LEDを使った製品で明るさを調整して節電したり、センサに内蔵したLEDなどでは光強度を調整する機能をもたせたりするために<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">パルス出力で点灯</span></strong>をします。</p>
</div></div></div>



<figure class="wp-block-image size-full is-resized"><a href="https://depfields.com/wp-content/uploads/2020/06/tim-dimming1.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/tim-dimming1.jpg" alt="" class="wp-image-13307" width="459" height="294" srcset="https://depfields.com/wp-content/uploads/2020/06/tim-dimming1.jpg 514w, https://depfields.com/wp-content/uploads/2020/06/tim-dimming1-300x193.jpg 300w" sizes="(max-width: 459px) 100vw, 459px" /></a></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>LEDへの出力がパルスでも100Hz程度では<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ほぼ連続で点灯</span></strong>してみえます。このパルス出力の有利な点は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">パルスのON/OFF期間の比率（duty比）を変えることで明るさの強度を調整することができる</span></strong>ことと、OFFになる時間を調整することで<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">節電ができる</span></strong>ことです。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>これまでタイマ機能のうち<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">PWM出力</span></strong>については解説しました。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">LEDの調光はこのPWMを応用したもの</span></strong>です。このアプリケーション例では<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">100Hzの出力パルスのON/OFF期間を調整してLEDの明るさを調整</span></strong>しています。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/08/tim-dimming2.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/tim-dimming2.jpg" alt="" class="wp-image-5377" width="590" height="306" srcset="https://depfields.com/wp-content/uploads/2020/08/tim-dimming2.jpg 590w, https://depfields.com/wp-content/uploads/2020/08/tim-dimming2-300x156.jpg 300w" sizes="(max-width: 590px) 100vw, 590px" /></a></figure>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/08/led-dimming.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/led-dimming.jpg" alt="" class="wp-image-5804" width="373" height="313" srcset="https://depfields.com/wp-content/uploads/2020/08/led-dimming.jpg 373w, https://depfields.com/wp-content/uploads/2020/08/led-dimming-300x252.jpg 300w" sizes="(max-width: 373px) 100vw, 373px" /></a><figcaption>LED調光接続回路</figcaption></figure>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/08/tim-dimming-pwmsetting.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/tim-dimming-pwmsetting.jpg" alt="" class="wp-image-5379" width="746" height="276" srcset="https://depfields.com/wp-content/uploads/2020/08/tim-dimming-pwmsetting.jpg 746w, https://depfields.com/wp-content/uploads/2020/08/tim-dimming-pwmsetting-300x111.jpg 300w" sizes="(max-width: 746px) 100vw, 746px" /></a></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>このアプリ例ではRTOSを利用して1500msごとにLEDをON/OFFするタスクと10msごとにPWMのduty比をセットするタスクを実行しています。</p>
</div></div></div>



<figure class="wp-block-image size-full is-resized"><a href="https://depfields.com/wp-content/uploads/2020/08/pwm-duty-setting.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/pwm-duty-setting.png" alt="" class="wp-image-5660" width="597" height="552" srcset="https://depfields.com/wp-content/uploads/2020/08/pwm-duty-setting.png 597w, https://depfields.com/wp-content/uploads/2020/08/pwm-duty-setting-300x277.png 300w" sizes="(max-width: 597px) 100vw, 597px" /></a></figure>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:76% auto"><figure class="wp-block-media-text__media"><video controls src="https://depfields.com/wp-content/uploads/2022/02/LED-dimming.mp4"></video></figure><div class="wp-block-media-text__content">
<p class="has-large-font-size"></p>
</div></div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<div style="background: #00ccff; padding: 5px 10px; color: #ffffff; border-radius: 10px 10px 0 0;"><strong>コラム</strong></div>
<div style="background: #ffffea; padding: 10px; border: 2px solid #00ccff; border-radius: 0 0 10px 10px;">
<p><strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">PWMのduty値を変えるとLEDを調光できます</span></strong>ので、例えば、<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">アナログボリューム</span></strong>を入力に追加して得られたアナログ値に比例してduty値を変化させると<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">ボリュームで調光</span></strong>できるようになります。<span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b"><strong>シリアル通信</strong></span>により外部から与えた数値にduty値を対応させると<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">リモートコントロールで調光</span></strong>できるようになります。ちょっとした工夫と基礎の組み合わせでいろいろなアプリに発展させることができますので挑戦してみてください。</p>
</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">STM32タイマのPWM</span></strong>に関しましては<strong><a href="https://depfields.com/timer" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">タイマ・カウンタ【STM32の高機能・汎用タイマ詳細】</a></strong>の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">PWMモード出力</span></strong>で解説しています。</p>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<p>1.5s毎に点滅を繰り返すタイプ<br><div class='w3eden'><!-- WPDM Link Template: Default Template -->

<div class="link-template-default card mb-2">
    <div class="card-body">
        <div class="media">
            <div class="mr-3 img-48"><img class="wpdm_icon" alt="アイコン"   src="https://depfields.com/wp-content/plugins/download-manager/assets/file-type-icons/box_download.png" /></div>
            <div class="media-body">
                <h3 class="package-title"><a href='https://depfields.com/download/led-dimming/'>LEDの調光</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 3.83 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='5384'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div></p>



<p> ユーザーSWを押した時だけ点灯するタイプ <br><div class='w3eden'><!-- WPDM Link Template: Default Template -->

<div class="link-template-default card mb-2">
    <div class="card-body">
        <div class="media">
            <div class="mr-3 img-48"><img class="wpdm_icon" alt="アイコン"   src="https://depfields.com/wp-content/plugins/download-manager/assets/file-type-icons/box_download.png" /></div>
            <div class="media-body">
                <h3 class="package-title"><a href='https://depfields.com/download/led-dimming2/'>LEDの調光その２</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 4.15 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='5806'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div></p>



<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/led-dimming/" target="_blank" rel="external noopener"><div class="lkc-card"><div class="lkc-info"><img class="lkc-favicon" src="https://www.google.com/s2/favicons?domain=en.depfields.com" alt="" width=16 height=16 /><div class="lkc-domain">Most Powerful Bible to Become an Embedded Engineer</div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img class="lkc-thumbnail-img" src="//depfields.com/wp-content/uploads/pz-linkcard/cache/48cb6c1c6386d7786a8688d1e0b00d7aefa2262981580b1e634426553ff59608.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">PWM dimming of LEDs with MCU [STM32 Nucleo] | Most Powerful Bible to Become a...</div></div><div class="lkc-url">https://en.depfields.com/led-dimming/</div><div class="lkc-excerpt">How can we use the digital output of MCU to dim LEDs? I will explain the magic trick of using the digital output of MCU to control the brightness continuously in an analog manner, as if dimming were a magic trick.As an application of</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/led-dimming/">LEDをマイコンでPWM調光する【STM32 Nucleo】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		<enclosure url="https://depfields.com/wp-content/uploads/2022/02/LED-dimming.mp4" length="11507777" type="video/mp4" />

			</item>
		<item>
		<title>PWMパルスアプリ【STM32のPWM出力】</title>
		<link>https://depfields.com/tim-pwm-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tim-pwm-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Sat, 13 Jun 2020 23:37:58 +0000</pubDate>
				<category><![CDATA[タイマを使ったアプリ]]></category>
		<category><![CDATA[タイマ]]></category>
		<guid isPermaLink="false">https://depfields.com/?page_id=3316</guid>

					<description><![CDATA[<p>STM32マイコンのタイマをPWM出力に設定したアプリケーションプログラムです。設定値により周波数やパルスデューティ比が変わるのを確認できます。 設定仕様： 使用ピン：PB８オルタネート出力（タイマ出力）使用ペリフェラル [&#8230;]</p>
<p>The post <a href="https://depfields.com/tim-pwm-apl/">PWMパルスアプリ【STM32のPWM出力】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="359" height="256" src="https://depfields.com/wp-content/uploads/2020/06/pwm.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/06/pwm.jpg 359w, https://depfields.com/wp-content/uploads/2020/06/pwm-300x214.jpg 300w" sizes="(max-width: 359px) 100vw, 359px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"><strong><a href="https://depfields.com/timer/" target="_blank" rel="noreferrer noopener">STM32マイコンのタイマ</a></strong>をPWM出力に設定したアプリケーションプログラムです。設定値により周波数やパルスデューティ比が変わるのを確認できます。</p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>PWM（Pulse Width Modulation)を使用したパルス出力のアプリです。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">設定は固定パルスのアプリと同様</span></strong>でカウントクロックを1kHzに設定します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>PWM出力は変数<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ARR_val</span></strong>が1000で1Hzのパルスが発生し、1秒間隔のLED点滅となります。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">PWMの場合はARRのサイクルがパルス周波数</span></strong>となります。<strong>ARR_val</strong>値を変えると点滅周期が変わります。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>変数<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">duty_ratio</span></strong>が2の時、出力パルスのON/OFF比率は1:1です。<strong>duty_ratio</strong>値をいろいろ変えてみてください。点滅周期は固定ですが、点灯期間が変わります。</p>
</div></div></div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<div style="background: #ffffea; padding: 8px 19px; margin: 2em 0; border-top: solid 10px #00ccff; solid 5px #1a66ff; box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33); word-break: break-all;">
<p><strong>設定仕様： </strong><br><strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">使用ピン：PB８オルタネート出力</span></strong>（タイマ出力）<br><strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">使用ペリフェラル：TIM４_CH3</span></strong>カウントクロック1kHz</p>
</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<div class='w3eden'><!-- WPDM Link Template: Default Template -->

<div class="link-template-default card mb-2">
    <div class="card-body">
        <div class="media">
            <div class="mr-3 img-48"><img class="wpdm_icon" alt="アイコン"   src="https://depfields.com/wp-content/plugins/download-manager/assets/file-type-icons/box_download.png" /></div>
            <div class="media-body">
                <h3 class="package-title"><a href='https://depfields.com/download/tim-pwm/'>PWMパルス</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 2.66 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='3329'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div>


<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/tim-pwm-apl/" target="_blank" rel="external noopener"><div class="lkc-card"><div class="lkc-info"><img class="lkc-favicon" src="https://www.google.com/s2/favicons?domain=en.depfields.com" alt="" width=16 height=16 /><div class="lkc-domain">Most Powerful Bible to Become an Embedded Engineer</div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img class="lkc-thumbnail-img" src="//depfields.com/wp-content/uploads/pz-linkcard/cache/6bd54717c86f59b7957873580aede622918b28755e5ec9de87baefa63ba454c8.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">PWM pulse application [PWM output of STM32] | Most Powerful Bible to Become a...</div></div><div class="lkc-url">https://en.depfields.com/tim-pwm-apl/</div><div class="lkc-excerpt">This is an application program that sets the timer of the STM32 MCU to PWM output. You can see the frequency and pulse duty ratio change depending on the setting value.This is an application for pulse output using PWM (Pulse Width Mod</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/tim-pwm-apl/">PWMパルスアプリ【STM32のPWM出力】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>固定パルスアプリ【STM32のパルス出力】</title>
		<link>https://depfields.com/tim-toggle-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tim-toggle-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Sat, 13 Jun 2020 13:16:53 +0000</pubDate>
				<category><![CDATA[タイマを使ったアプリ]]></category>
		<category><![CDATA[タイマ]]></category>
		<guid isPermaLink="false">https://depfields.com/?page_id=3302</guid>

					<description><![CDATA[<p>STM32マイコンのタイマを使用して入力スイッチを押したときだけ固定周波数のパルスを発生するアプリケーションプログラムです。 設定仕様：使用ピン：PB8 オルタネート出力（タイマ出力）使用ペリフェラル：TIM4_CH3  [&#8230;]</p>
<p>The post <a href="https://depfields.com/tim-toggle-apl/">固定パルスアプリ【STM32のパルス出力】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="396" height="262" src="https://depfields.com/wp-content/uploads/2020/06/pulse.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/06/pulse.jpg 396w, https://depfields.com/wp-content/uploads/2020/06/pulse-300x198.jpg 300w" sizes="(max-width: 396px) 100vw, 396px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"><strong><a href="https://depfields.com/timer/" target="_blank" rel="noreferrer noopener">STM32マイコンのタイマ</a></strong>を使用して入力スイッチを押したときだけ固定周波数のパルスを発生するアプリケーションプログラムです。</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/tim-application-nucleo.jpg" alt="" class="wp-image-5169" width="358" height="379"/><figcaption>タイマ出力回路</figcaption></figure>



<div style="background: #ffffea; padding: 8px 19px; margin: 2em 0; border-top: solid 10px #00ccff; solid 5px #1a66ff; box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33); word-break: break-all;">
<p><strong>設定仕様：</strong><br><strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">使用ピン：PB8 オルタネート出力</span></strong>（タイマ出力）<br><strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">使用ペリフェラル：TIM4_CH3</span></strong> カウントクロック1kHz&nbsp;</p>
</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>このアプリではTIM4のCH3を使用します。使用ピンはPB8のデフォルトオルタネート機能のTIM4です。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>TIM4の設定ではタイマのカウントクロックを1kHzに設定して500カウントしてCH3から1Hzパルスを発生します。</p>
</div></div></div>



<div class='w3eden'><!-- WPDM Link Template: Default Template -->

<div class="link-template-default card mb-2">
    <div class="card-body">
        <div class="media">
            <div class="mr-3 img-48"><img class="wpdm_icon" alt="アイコン"   src="https://depfields.com/wp-content/plugins/download-manager/assets/file-type-icons/box_download.png" /></div>
            <div class="media-body">
                <h3 class="package-title"><a href='https://depfields.com/download/tim-pulse/'>通常固定パルス</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 2.57 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='3309'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div>



<p></p>



<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/tim-toggle-apl/" target="_blank" rel="external noopener"><div class="lkc-card"><div class="lkc-info"><img class="lkc-favicon" src="https://www.google.com/s2/favicons?domain=en.depfields.com" alt="" width=16 height=16 /><div class="lkc-domain">Most Powerful Bible to Become an Embedded Engineer</div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img class="lkc-thumbnail-img" src="//depfields.com/wp-content/uploads/pz-linkcard/cache/d63c0a69be3768632c8417f9b386475ae015f7fe84a2789f9f14292713a38e04.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Fixed pulse application [Pulse output of STM32] | Most Powerful Bible to Beco...</div></div><div class="lkc-url">https://en.depfields.com/tim-toggle-apl/</div><div class="lkc-excerpt">This application program uses the timer of the STM32 MCU to generate a fixed frequency pulse only when an input switch is pressed.Timer output circuitSetting Specification：Pin used：PB8 Alternate output(Timer output)Peripheral used</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/tim-toggle-apl/">固定パルスアプリ【STM32のパルス出力】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>タイマ・カウンタ【STM32の高機能・汎用タイマ詳細】</title>
		<link>https://depfields.com/timer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=timer</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Fri, 05 Jun 2020 09:36:15 +0000</pubDate>
				<category><![CDATA[各周辺機能(ペリフェラル)詳細]]></category>
		<category><![CDATA[タイマ]]></category>
		<guid isPermaLink="false">https://depfields.com/?page_id=2307</guid>

					<description><![CDATA[<p>マイコンのタイマ・カウンタは外部から与えた入力パルス数のカウント、入力パルス周波数の計算、任意の周波数パルス出力、PWMパルスの出力、そしてパルス以外では時間計測などタイマ・カウンタを組み合わせた用途は広いです。 STM [&#8230;]</p>
<p>The post <a href="https://depfields.com/timer/">タイマ・カウンタ【STM32の高機能・汎用タイマ詳細】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="640" height="426" src="https://depfields.com/wp-content/uploads/2020/06/abacus-1866497_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/06/abacus-1866497_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/06/abacus-1866497_640-300x200.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">マイコンのタイマ・カウンタは外部から与えた入力パルス数のカウント、入力パルス周波数の計算、任意の周波数パルス出力、PWMパルスの出力、そしてパルス以外では時間計測などタイマ・カウンタを組み合わせた用途は広いです。</p>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">STM32のタイマ・カウンタペリフェラルはとても多機能ですべてを理解するのは大変ですがこのサイトでは最も実用的な機能を抜粋して解説しています。タイマ・カウンタの基本動作からタイマを利用したさまざまな出力の仕方を解説しています。</p>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">ライブラリはSPLを使用していますが基本動画が理解できれば将来的にHAL等への移植は難しくはないでしょう。</p>







<h2 class="wp-block-heading">ペリフェラルのタイマ・カウンタ</h2>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>マイコンのペリフェラル（周辺機能）のなかでもタイマ・カウンタは最も使用頻度が高いものではないでしょうか。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>プログラム自体が<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">処理時間</span></strong>、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">経過時間概念</span></strong>の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">組み合わせ</span></strong>で成り立っていますので<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">タイマ・カウンタ機能は組み込み技術には欠かせない</span></strong>ものです。これを使いこなせるようになれば幅広いアプリケーションの開発ができるようになりますのでここはしっかり理解していきましょう。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>前章で解説したシステムタイマである<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">SysTickタイマ</span></strong>は動作周波数である<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">システムクロックをカウント</span></strong>して周期的に割り込みを発生させてその中で処理をする比較的簡易なものでした。ただし、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">割り込み処理をCPUが実行しているので高速になるほどCPUに負担</span></strong>がかかります。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>これに対して<strong>ペリフェラルの高機能・汎用タイマは<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">CPUとは独立した専用回路が直接出力を操作</span></strong>しますので、割り込み処理を必要とするシステムタイマに比べCPUに負担をかけず効率化できます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">高機能タイマ</span></strong>TIM1,TIM8(マイコンによります)は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">APB2 バスに接続</span></strong>されていてAPB2プリスケーラ、逓倍回路を経てクロックが供給されます（ここでは72MHzのクロック）。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">汎用タイマ</span></strong>TIM2-7(マイコンによります)は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">APB1バスに接続</span></strong>されていてAPB1プリスケーラ、逓倍回路を経てクロックが供給されます（ここでは36MHzのクロック）。</p>
</div></div></div>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2020/06/peripheral-timer-clock.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/peripheral-timer-clock.jpg" alt="" class="wp-image-2332"/></a><figcaption>高機能・汎用タイマ供給クロック</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>これから解説する高機能・汎用タイマはシステムタイマのように<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">一定時間ごとの割り込みを発生</span></strong>させる機能に加えて、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">任意の周波数のパルスを発生</span></strong>させることもできます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>タイマに供給される内部クロックだけでなく<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">外部からの信号</span></strong>や<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">他のタイマからの出力信号をカウント</span></strong>することができます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>STM32マイコンタイマの外部のクロック源をクロックとして供給する場合はタイマ用の各チャネルのピン(TIMx-CHy: xタイマ番号、yチャネル番号)をクロック入力用に使用する<strong>外部クロックモード1</strong>とタイマの外部トリガ用専用ピン（TIMx-ETR）をクロック入力用に使用する<strong>外部クロックモード2</strong>があります。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/06/peripheral-timer.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/peripheral-timer.jpg" alt="" class="wp-image-2325" width="375" height="188" srcset="https://depfields.com/wp-content/uploads/2020/06/peripheral-timer.jpg 382w, https://depfields.com/wp-content/uploads/2020/06/peripheral-timer-300x151.jpg 300w" sizes="(max-width: 375px) 100vw, 375px" /></a><figcaption>高機能・汎用タイマ</figcaption></figure>



<h2 class="wp-block-heading">高機能タイマと汎用タイマ</h2>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>ここで、STM32マイコンでいう<strong>高機能タイマと汎用タイマの違いについて</strong>言及します。どちらもすでに十分な機能を持ち合わせているのですが、高機能タイマは通常のタイマ機能に加えて<strong>さらに<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">デッドタイム付きPWM</span></strong>および<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">相補出力を生成する機能</span></strong>などがあります。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>この機能はモータ制御に使用するインバータなどパワーエレクトロニクスのスイッチングタイミングをコントロールするのに必要な高度な特化した機能ですので<strong>通常の用途では必要ありません</strong>。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>また、高機能タイマを使用する場合、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">汎用タイマには必要のない設定を行わなければタイマ出力が無効となる</span></strong>場合がありますので使用しない機能でもすべて設定するのが無難です。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">汎用タイマでも十分多機能</span></strong>ですので慣れるまでは少しでも設定の簡素化した<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">汎用タイマ（TIM2-7:マイコンによります）を使用することをおすすめ</span></strong>します。</p>
</div></div></div>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"> 註： NUCLEO-F103RB 搭載のSTM32F103RBではタイマはTIM1-4で選定します 。<br>高機能タイマはTIM１だけです。</p>



<h2 class="wp-block-heading">タイマ・カウンタの動作</h2>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>入力したクロックパルスの<strong>カウント数を格納するレジスタ</strong>を<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">カウンタレジスタ</span></strong>といい、<strong>カウント上限回数を設定するレジスタ</strong>を<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">自動リロードレジスタ（ARR:</span></strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>A</strong>uto <strong>R</strong>eload <strong>R</strong>egister</span><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">）</span></strong>をいいます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>パルスのカウント方法は3つあり、カウント数0から設定値ARRまで<strong>加算する方式</strong>を<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">アップカウント</span></strong>、設定値ARRから0まで<strong>減算する方式</strong>を<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ダウンカウント</span></strong>、そして0と設定値ARRの間で<strong>加算、減算を繰り返す方式</strong>を<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">センターアラインカウント</span></strong>といいます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">アップカウントの場合</span></strong>はカウント数（カウンタレジスタ値）がARRに到達して次のカウントをしたときに<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">カウンタオーバーフロー</span></strong>になって、割り込みなどを発生させます。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ダウンカウンタの場合</span></strong>はカウント数が0になって次のカウントをしたときに<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">カウンタアンダーフロー</span></strong>になって割り込みなどを発生させます。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">センターアラインカウントの場合</span></strong>は加算でARRに到達し<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">オーバーフロー</span></strong>、減算で0に到達し<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">アンダーフロー</span></strong>で割り込みなどを発生させます。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/06/count-method.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/count-method.jpg" alt="" class="wp-image-2326" width="613" height="173" srcset="https://depfields.com/wp-content/uploads/2020/06/count-method.jpg 627w, https://depfields.com/wp-content/uploads/2020/06/count-method-300x85.jpg 300w" sizes="(max-width: 613px) 100vw, 613px" /></a><figcaption>アップカウント、ダウンカウント、センターアラインカウント</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong>各タイマ</strong>には<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">プリスケーラと呼ばれる分周器</span></strong>が<strong>内蔵</strong>されています。プリスケーラは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">16ビットカウンタで構成</span></strong>されていますのでカウンタクロックを最大65535分の1（1/2<sup>16</sup>)まで任意に遅くすることができます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>カウント動作中に加算時のオーバーフローや減算時のアンダーフローが発生すると割り込みなどの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">更新イベントが発生</span></strong>します。汎用タイマでは更新イベントを繰り返します。<strong>高機能タイマでは更新イベントの発生タイミング</strong>や<strong>繰り返しカウンタの回数</strong>などを<strong>設定</strong>できますがここでは言及しません。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/06/timer-prescaler.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/timer-prescaler.jpg" alt="" class="wp-image-2327" width="340" height="114" srcset="https://depfields.com/wp-content/uploads/2020/06/timer-prescaler.jpg 345w, https://depfields.com/wp-content/uploads/2020/06/timer-prescaler-300x101.jpg 300w" sizes="(max-width: 340px) 100vw, 340px" /></a><figcaption>タイマのプリスケーラ（分周器）</figcaption></figure>



<div style="background: #ffffea; padding: 15px; border: 1px solid #1a66ff; border-radius: 10px; word-break: break-all;">
<p>タイマ機能の役割は<br><strong>① <span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">カウント結果に応じて割り込みなどのイベントを発生</span></strong>させる　<br><strong>② <span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">カウント結果に応じてタイマ出力の状態を変化</span></strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">させる<br></span><strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">③ 外部クロックの回数カウントやパルス幅の計測</span></strong>　の3種類があります。</p>
</div>
<p>&nbsp;</p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong>①</strong>は前章のSisTickタイマと同じような使い方です。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong>②</strong>はカウンタを利用してパルス出力を発生させるもので例えばモータ制御の速度入力指令値などに利用されます。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/06/timer-function1.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/timer-function1.jpg" alt="" class="wp-image-2346" width="335" height="237" srcset="https://depfields.com/wp-content/uploads/2020/06/timer-function1.jpg 366w, https://depfields.com/wp-content/uploads/2020/06/timer-function1-300x212.jpg 300w" sizes="(max-width: 335px) 100vw, 335px" /></a><figcaption>割り込み、イベント発生およびパルス出力</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong>③</strong>は①と②を組み合わせて使うことで<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">信号の時間的な間隔を計測したりする使い方</span></strong>です。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>例えばある外部信号の入力間隔を測りたい場合はタイマを利用すれば簡単です。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>外部信号に対して<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">十分細かい計測用内部クロックをカウント</span></strong>します。外部信号が入力されるとまず<strong>現状のカウント数を取得</strong>（カウント取得値A,B）してから<strong>カウント開始信号としてリセット</strong>します。そして<strong>次の外部信号入力まで計測用内部クロックをカウント</strong>するのを繰り返します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>カウント数は外部パルスの時間間隔(入力間隔A,B)つまり、<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>外部パルス速度(時間間隔の逆数</strong>)<strong>を計測したことになります</strong></span>。後述しますが、外部信号は<strong>割り込み入力</strong>とするとより正確な計測ができます。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/06/timer-function2.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/timer-function2.jpg" alt="" class="wp-image-2347" width="374" height="286" srcset="https://depfields.com/wp-content/uploads/2020/06/timer-function2.jpg 355w, https://depfields.com/wp-content/uploads/2020/06/timer-function2-300x230.jpg 300w" sizes="(max-width: 374px) 100vw, 374px" /></a><figcaption>信号間隔計測</figcaption></figure>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-height"><div class="vk_block-margin-md--height"></div></div>



<h2 class="wp-block-heading">高機能・汎用タイマペリフェラルの使い方</h2>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>タイマの機能を学ぶにはまず実際に使ってみることですが、ここでは基本的なものからはじめて利用方法を理解していきましょう。まず手ほどきに基本の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">出力比較モード</span></strong>をプログラムで解説していきます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>ここで出力比較モードとはカウント数を0と自動リロードレジスタ（ARR:　Auto Reload Register）間に設定した<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>キャプチャコンペアレジスタ</strong>（<strong>CCR: C</strong>apture<strong> C</strong>ompare<strong> R</strong>egister）</span>と比較するモードです。カウント数がCCRと一致したときに出力が変化します。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/06/capture-compare.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/capture-compare.jpg" alt="" class="wp-image-2349" width="336" height="239" srcset="https://depfields.com/wp-content/uploads/2020/06/capture-compare.jpg 344w, https://depfields.com/wp-content/uploads/2020/06/capture-compare-300x214.jpg 300w" sizes="(max-width: 336px) 100vw, 336px" /></a><figcaption>出力比較モード</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>実際のプログラムでの設定を解説していきます。</p>
</div></div></div>



<h3 class="wp-block-heading">出力比較モードの設定例</h3>



<p>目的：汎用タイマの出力比較モードで5kHzのパルスを出力する<br>■　タイマはTIM5の出力チャネルCH1-4のうちCH4(PA3)のみ使用<br>■　タイマへの供給クロックは36MHz<br>■　カンタ動作はアップカウンタモードで出力比較モード</p>



<p>註： NUCLEO-F103RB 搭載のSTM32F103RBではタイマはTIM1-4で選定します</p>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/06/capture-compare-setting.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/capture-compare-setting.jpg" alt="" class="wp-image-2791" width="665" height="683"/></a></figure>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;① GPIOおよびタイマTIM5にクロック供給&nbsp;</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>GPIOポートA</strong>は<strong>APB2に接続</strong></span>、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TIM5はAPB1に接続</span></strong>しているのでそれぞれの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ペリフェラルにクロックを供給</span></strong>します。高機能タイマ(TIM1とTIM8：マイコンによります)の場合はAPB2に供給します。</p>
</div></div></div>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;② タイマに使うGPIOの設定&nbsp;</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>使用するタイマの出力ポート<strong>GPIOの設定</strong>を行います。<strong>PA3</strong>にタイマ出力の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">オルタネート出力</span></strong>を設定します。</p>
</div></div></div>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;③ タイマの初期化&nbsp;</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>次に<strong>タイマの初期化(TIM_TimeBaseInit関数)</strong>を行います。初期化項目は多岐にわたるので順次解説していきましょう。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">タイマの初期化設定</span>③</strong>ではタイマのプリスケールやカウンタ動作モードを指定します。初期化関数<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TIM_TimeBaseInit</span></strong>()を使用します。</p>
</div></div></div>



<p>タイマ初期化関数実行例：<br>TIM_TimeBaseInit(TIM5, &amp;TIM_TimeBaseStructure);</p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>関数の第1引数は<strong>設定対象タイマTIM5など指定</strong>します。第2引数は<strong>構造体メンバ</strong>になっていて以下に示します。</p>
</div></div></div>



<figure class="wp-block-image size-full"><img decoding="async" width="705" height="200" src="https://depfields.com/wp-content/uploads/2020/06/tim_base_init_member1.jpg" alt="" class="wp-image-11881" srcset="https://depfields.com/wp-content/uploads/2020/06/tim_base_init_member1.jpg 705w, https://depfields.com/wp-content/uploads/2020/06/tim_base_init_member1-300x85.jpg 300w" sizes="(max-width: 705px) 100vw, 705px" /></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>設定例では<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TIM_Prescaler</span></strong>を<strong>75-1</strong>に指定して36MHzのクロックを75分周して<strong>TIM5に480kHz(TIM5CLK)を供給</strong>します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong>ARR</strong>はメンバ<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TIM_Period</span></strong>で設定します。<br>5kHzのタイマ出力が発生させるには10kHzごとに出力を反転(トグル)させればよいので<strong>48-1</strong>とします。</p>
</div></div></div>



<figure class="wp-block-image size-full"><img decoding="async" width="702" height="239" src="https://depfields.com/wp-content/uploads/2020/06/tim_base_init_member2.jpg" alt="" class="wp-image-11882" srcset="https://depfields.com/wp-content/uploads/2020/06/tim_base_init_member2.jpg 702w, https://depfields.com/wp-content/uploads/2020/06/tim_base_init_member2-300x102.jpg 300w" sizes="(max-width: 702px) 100vw, 702px" /></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>この例では<strong>アップカウンタモード</strong>を設定しています。</p>
</div></div></div>



<figure class="wp-block-image size-full"><img decoding="async" width="702" height="160" src="https://depfields.com/wp-content/uploads/2020/06/tim_base_init_member3.jpg" alt="" class="wp-image-11883" srcset="https://depfields.com/wp-content/uploads/2020/06/tim_base_init_member3.jpg 702w, https://depfields.com/wp-content/uploads/2020/06/tim_base_init_member3-300x68.jpg 300w" sizes="(max-width: 702px) 100vw, 702px" /></figure>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;④ タイマ出力の設定&nbsp;</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong>タイマ出力の設定(TIM_OCxInit関数)</strong>を行います。この例ではCH4だけ有効にしています。<br><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">出力比較モードの詳細設定④</span></strong>ではタイマの出力仕様パラメータを指定します。</p>
</div></div></div>



<p>出力比較モード初期化関数実行例：<br>TIM_OC4Init(TIM5, &amp;TIM_OCInitStructure);</p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>TIM_OCxInit関数の第2引数はTIM_OCInitTypeDef型構造体のメンバとなっていて、下表にまとめますが、その中でTIM_OutputNState、TIM_OCNPolarityおよびTIM_OCNIdleStateは高機能タイマでのみ必要なものなので汎用タイマでは省略します。</p>
</div></div></div>



<figure class="wp-block-image size-full"><img decoding="async" width="688" height="272" src="https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member1.jpg" alt="" class="wp-image-11884" srcset="https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member1.jpg 688w, https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member1-300x119.jpg 300w" sizes="(max-width: 688px) 100vw, 688px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="689" height="147" src="https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member2.jpg" alt="" class="wp-image-11885" srcset="https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member2.jpg 689w, https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member2-300x64.jpg 300w" sizes="(max-width: 689px) 100vw, 689px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="686" height="145" src="https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member3.jpg" alt="" class="wp-image-11886" srcset="https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member3.jpg 686w, https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member3-300x63.jpg 300w" sizes="(max-width: 686px) 100vw, 686px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="690" height="137" src="https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member4.jpg" alt="" class="wp-image-11887" srcset="https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member4.jpg 690w, https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member4-300x60.jpg 300w" sizes="(max-width: 690px) 100vw, 690px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="684" height="75" src="https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member5.jpg" alt="" class="wp-image-11888" srcset="https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member5.jpg 684w, https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member5-300x33.jpg 300w" sizes="(max-width: 684px) 100vw, 684px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="684" height="172" src="https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member6.jpg" alt="" class="wp-image-11889" srcset="https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member6.jpg 684w, https://depfields.com/wp-content/uploads/2022/03/tim_ocmode_member6-300x75.jpg 300w" sizes="(max-width: 684px) 100vw, 684px" /></figure>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;⑤ タイマのカウントを開始</span><span style="background-color: #003300; color: #ffffff;">：</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>すべての設定終了後、<strong>タイマのカウントを開始(TIM_Cmd関数)</strong>します。<br>この時点から出力が発生します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>ここまででタイマの設定ができましたのでTIM_Cmd関数を実行してタイマを有効化してカウントを始めます。</p>
</div></div></div>



<p>TIM_Cmd関数実行例：TIM_Cmd(TIM5, <strong>ENABLE</strong>);</p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>TIM_ Cmd関数の第2引数に<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ENBLEを指定するとカウントを開始</span></strong>し、<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>DISABLEで停止</strong></span>します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>この時点でTIM5のCH4につながっている<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">PA3に5kHzのプッシュプル出力が開始</span></strong>します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>このプログラム例では出力はCH4の1つのみですが、ほかのチャネルCH1-CH3を同時に使い、それぞれのチャネルに別々のCCR（キャプチャコンペアレジスタ値）を指定すると、同じパルスで位相をずらしたものが出力できます。</p>
</div></div></div>



<figure class="wp-block-image size-full"><img decoding="async" width="381" height="302" src="https://depfields.com/wp-content/uploads/2020/06/multi-chanel-pulse.jpg" alt="" class="wp-image-11890" srcset="https://depfields.com/wp-content/uploads/2020/06/multi-chanel-pulse.jpg 381w, https://depfields.com/wp-content/uploads/2020/06/multi-chanel-pulse-300x238.jpg 300w" sizes="(max-width: 381px) 100vw, 381px" /><figcaption>複数のチャネルパルス</figcaption></figure>





<h3 class="wp-block-heading">任意のタイミングで位相をずらす場合</h3>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>任意のタイミングでCH4の位相をずらしたい場合は<br>TIM_SetCompare4関数でCH4の位相を変更できます。</p>
</div></div></div>



<p>TIM_SetCompare関数実行例：TIM_SetCompare4(TIM5, <strong>CCR_VALUE</strong>);</p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>関数の第1引数は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">設定対象タイマ</span></strong>TIM5など指定します。第2引数は出力比較モード設定内メンバのTIM_Pulseに相当する<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">CRRの値を指定</span></strong>します。</p>
</div></div></div>



<figure class="wp-block-image size-full"><img decoding="async" width="361" height="255" src="https://depfields.com/wp-content/uploads/2022/03/various-phase-pulse.jpg" alt="" class="wp-image-11891" srcset="https://depfields.com/wp-content/uploads/2022/03/various-phase-pulse.jpg 361w, https://depfields.com/wp-content/uploads/2022/03/various-phase-pulse-300x212.jpg 300w" sizes="(max-width: 361px) 100vw, 361px" /><figcaption>様々な位相のパルス</figcaption></figure>



<h3 class="wp-block-heading">任意の周波数に変更する場合</h3>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>TIM5の周波数を変更したい場合は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TIM_SetAutoreload関数</span></strong>で周波数を変更できます。</p>
</div></div></div>



<p>TIM_SetAutoreload関数実行例：TIM_SetAutoreload(TIM5, <strong>ARR_VALUE</strong>);</p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>関数の第1引数は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">設定対象タイマ</span></strong>TIM5など指定します。第2引数はタイマ初期化関数内メンバのTIM_ Periodに相当する<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ARRの値を指定</span></strong>します。図ではアップカウンタでの例ですがカウント途中でARRを変更することになるので<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ダウンカウンタを使用</span></strong>するほうがよいです。</p>
</div></div></div>



<figure class="wp-block-image size-full"><img decoding="async" width="362" height="249" src="https://depfields.com/wp-content/uploads/2022/03/various-freq-pulse.jpg" alt="" class="wp-image-11892" srcset="https://depfields.com/wp-content/uploads/2022/03/various-freq-pulse.jpg 362w, https://depfields.com/wp-content/uploads/2022/03/various-freq-pulse-300x206.jpg 300w" sizes="(max-width: 362px) 100vw, 362px" /><figcaption>様々な周波数のパルス</figcaption></figure>



<h3 class="wp-block-heading">高機能タイマ出力の場合のみ</h3>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>汎用タイマの場合はこれで設定は完了なのですが、<strong>高機能タイマの出力を有効化するには</strong>さらに<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TIM_CtrlPWMOutputs（TIMx, ENABLE）</span></strong>を<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">追加</span></strong>しておいてください。</p>
</div></div></div>



<h2 class="wp-block-heading">タイマの応用</h2>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>これまでのタイマの使い方としては、自動リロードレジスタ（ARR）の値を変更してカウントサイクル（周波数）を変え、キャプチャコンペアレジスタ(CCR)の値を変更することで、出力タイミング（位相）を変えることができました。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>タイマの使い方としてはこの他にも、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">PWM出力</span></strong>や、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">外部からの高速クロック信号をカウント</span></strong>することもできますので、一部紹介したいと思います。</p>
</div></div></div>



<p><span style="background-color: #3366ff; color: #ffffff; font-size: 20px;">&nbsp;PWMモード出力&nbsp;</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>アップカウント時、PWMモード1ではカウント数がCCRより小さいときにHigh,そうでないときにLowとしています。PWMモード2はその反転出力です。</p>
</div></div></div>



<figure class="wp-block-image size-full"><img decoding="async" width="337" height="323" src="https://depfields.com/wp-content/uploads/2020/06/pwm-up.jpg" alt="" class="wp-image-11894" srcset="https://depfields.com/wp-content/uploads/2020/06/pwm-up.jpg 337w, https://depfields.com/wp-content/uploads/2020/06/pwm-up-300x288.jpg 300w" sizes="(max-width: 337px) 100vw, 337px" /><figcaption>PWMモード出力（アップカウンタ）</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>ダウンカウント時、PWMモード1ではカウント数がCCRより大きいときにLow,そうでないときにHighとしています。PWMモード2はその反転出力です。</p>
</div></div></div>



<figure class="wp-block-image size-full"><img decoding="async" width="343" height="313" src="https://depfields.com/wp-content/uploads/2022/03/pwm-down.jpg" alt="" class="wp-image-11895" srcset="https://depfields.com/wp-content/uploads/2022/03/pwm-down.jpg 343w, https://depfields.com/wp-content/uploads/2022/03/pwm-down-300x274.jpg 300w" sizes="(max-width: 343px) 100vw, 343px" /><figcaption>PWMモード出力（ダウンカウンタ）</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>PWM出力の特徴は出力周期（サイクルカウント）は一定でCCRを変更することでON/OFFの比率（デューティ比）を変えることができることです。</p>
</div></div></div>



<figure class="wp-block-image size-full"><img decoding="async" width="352" height="214" src="https://depfields.com/wp-content/uploads/2022/03/pwm.jpg" alt="" class="wp-image-11896" srcset="https://depfields.com/wp-content/uploads/2022/03/pwm.jpg 352w, https://depfields.com/wp-content/uploads/2022/03/pwm-300x182.jpg 300w" sizes="(max-width: 352px) 100vw, 352px" /><figcaption>PWM出力</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>設定は<strong>出力比較モードとほぼ同じ</strong>で、TIM_OCxInit関数の第2引数のメンバのうちTIM_OCModeを<strong>TIM_ OCMode_PWM1</strong>か<strong>TIM_ OCMode_PWM2</strong>に指定するだけです。出力は出力比較モードのTIM_OCModeにTIM_OCMode_Toggleを指定したときの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">2倍の周波数になる</span>ことに注意</strong>してください。</p>
</div></div></div>



<p><span style="background-color: #3366ff; color: #ffffff; font-size: 20px;">&nbsp;外部高速クロックカウント&nbsp;</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>タイマの応用として<strong>外部の高速クロックをカウント</strong>することができるので紹介しましょう。</p>
</div></div></div>



<p><span style="background-color: #00ccff; color: #ffffff;"><span style="background-color: #ffffff;">　　　</span>&nbsp;外部クロックモード&nbsp;</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>STM32のタイマには外部パルスを計測する機能があります。ロボット等のアクチュエータには<strong>位置、速度を検知するセンサとしてエンコーダがよく使われる</strong>のですが、外部パルスをカウントするには<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">外部クロックモード</span></strong>としてタイマを使用します。外部クロックモードを使用するには、タイマ初期化(TimeBaseInit関数実行)直後に<strong><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TIM_TIxExternalClockConfig()関数</span></strong></strong>を実行して設定します。</p>
</div></div></div>



<p>外部クロックモード関数実行例：<br>TIM_TIxExternalClockConfig(TIM3,　TIM_TIｘExternalCLKSource_TI1, TIM_ICPolarity_Rising, 0xf);</p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>関数の第1引数は<strong>設定対象タイマTIM3など指定</strong>します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>第2引数は<strong>入力クロックパルス対象を指定</strong>します。<br>■　CH1のピン入力であるTI1のエッジを読み取るTIM_TIxExternalCLK1Source_TI1<br>■　CH2のピン入力であるTI2のエッジを読み取るTIM_TIxExternalCLK1Source_TI2<br>■　TI1とTI2のエッジ両方を読み取るTIM_TIxExternalCLK1Source_TI1ED</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>第3引数は<strong>TI1/TI2が検出するエッジを以下から指定</strong><br>■　立ち上がりエッジ検出のTIM_ICPolarity_Rising（極性はそのまま）<br>■　立ち下がりエッジ検出のTIM_ICPolarity_Falling（極性は反転）</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>第4引数は以下に示した<strong>フィルタの種類を指定</strong>します。高速なエンコーダパルスを読み取る際のチャタリングなどのノイズを防止するためです。特別に高速なパルスを読み取るのでない場合はサンプリングの一番大きな"f"を指定しておいてよいのではないでしょうか。実際に動作させてみて調整するのがいいかと思います。</p>
</div></div></div>



<figure class="wp-block-image size-full"><img decoding="async" width="300" height="461" src="https://depfields.com/wp-content/uploads/2022/03/table_filter.jpg" alt="" class="wp-image-11897" srcset="https://depfields.com/wp-content/uploads/2022/03/table_filter.jpg 300w, https://depfields.com/wp-content/uploads/2022/03/table_filter-195x300.jpg 195w" sizes="(max-width: 300px) 100vw, 300px" /></figure>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2020/08/external-clockmode-setting.jpg"><img decoding="async" width="743" height="573" src="https://depfields.com/wp-content/uploads/2020/08/external-clockmode-setting.jpg" alt="" class="wp-image-5368" srcset="https://depfields.com/wp-content/uploads/2020/08/external-clockmode-setting.jpg 743w, https://depfields.com/wp-content/uploads/2020/08/external-clockmode-setting-300x231.jpg 300w" sizes="(max-width: 743px) 100vw, 743px" /></a></figure>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;①　GPIOおよびTIM4にクロックを供給　</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>TIM3のCH1(PA6)を使用する例では<strong>GPIOポートAはAPB2に接続</strong>、<strong>TIM3はAPB1に接続</strong>しているのでそれぞれの<strong>ペリフェラルにクロックを供給</strong>します。</p>
</div></div></div>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;②　GPIO初期化　</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>外部入力の仕様に合わせて設定。ここでは無電圧接点入力のパルスを使用するためプルアップ入力としています。</p>
</div></div></div>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;③　TIM初期化　</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>外部クロックのカウントではTIM3の初期化は省略できそうな気もしますが実行しておきましょう。</p>
</div></div></div>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;④⑤　TIMを外部クロックモードに設定しカウント開始　</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>TIM3を<strong>外部クロックモードで使用</strong>するために<strong>TIM_TIxExternalClockConfig関数を実行</strong>します。<br>フィルターはサンプリング回数が大きなものほど鈍くなりノイズに強いので 問題なければ"f"でいいと思います。</p>
</div></div></div>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;⑥　カウント値取得　</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>入力パルスはアプリケーションプログラムの任意のタイミングで取得します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<p><span style="background-color: #00ccff; color: #ffffff;"><span style="background-color: #ffffff;">　　　</span> エンコーダインターフェースモード&nbsp;</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>STM32タイマには外部信号として入力されたインクリメンタルエンコーダなどの高速パルスをタイマ機能だけでカウントすることができます。この場合は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">エンコーダインターフェースモード</span></strong>としてタイマを使用します。エンコーダインターフェースモードを使用するには、タイマ初期化(TimeBaseInit関数実行)直後に<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TIM_EncoderInterfaceConfig関数</span></strong>を実行して設定します。</p>
</div></div></div>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2020/06/encoder-input.jpg"><img decoding="async" width="465" height="179" src="https://depfields.com/wp-content/uploads/2020/06/encoder-input.jpg" alt="" class="wp-image-2389" srcset="https://depfields.com/wp-content/uploads/2020/06/encoder-input.jpg 465w, https://depfields.com/wp-content/uploads/2020/06/encoder-input-300x115.jpg 300w" sizes="(max-width: 465px) 100vw, 465px" /></a><figcaption>エンコーダ入力</figcaption></figure>



<p>関数実行例：<br>TIM_EncoderInterfaceConfig(TIM4,TIM_EncoderMode_TI1,TIM_ICPolarity_Falling,TIM_ICPolarity_Rising);</p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p> 関数の第1引数は設定対象タイマTIM4など指定します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>第2引数は<br>■　CH1のピン入力である<strong>TI1のエッジ</strong>を読み取るTIM_EncoderMode_TI1<br>■　CH2のピン入力である<strong>TI2のエッジ</strong>を読み取るTIM_EncoderMode_TI2<br>■　TI1とTI2の<strong>両方のエッジ</strong>を読み取るTIM_EncoderMode_TI12</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>第3引数はTI1がエッジを検出したときのエッジ極性を以下から選択指定<br>■　エッジ検出のTIM_ICPolarity_Rising（極性そのまま）<br>■　エッジ検出のTIM_ICPolarity_Falling（極性反転）<br></p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p> 第4引数はTI2がエッジを検出したときのエッジ極性を TI1と同様に選択指定</p>
</div></div></div>



<p>エンコーダインターフェースモードでは以下のパターンでカウントが行われます。</p>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2020/06/encoder-interfacemode.png"><img decoding="async" width="798" height="197" src="https://depfields.com/wp-content/uploads/2020/06/encoder-interfacemode.png" alt="" class="wp-image-9019" srcset="https://depfields.com/wp-content/uploads/2020/06/encoder-interfacemode.png 798w, https://depfields.com/wp-content/uploads/2020/06/encoder-interfacemode-300x74.png 300w, https://depfields.com/wp-content/uploads/2020/06/encoder-interfacemode-768x190.png 768w" sizes="(max-width: 798px) 100vw, 798px" /></a></figure>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2021/04/encoder-updown.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2021/04/encoder-updown.png" alt="" class="wp-image-9020" width="580" height="272" srcset="https://depfields.com/wp-content/uploads/2021/04/encoder-updown.png 680w, https://depfields.com/wp-content/uploads/2021/04/encoder-updown-300x141.png 300w" sizes="(max-width: 580px) 100vw, 580px" /></a><figcaption>TI1およびTI2パルスカウント　 マニュアルRM008より </figcaption></figure>



<p>エッジの極性を反転に指定するとカウント方向が反転します。</p>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2021/04/encoder-updown2.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2021/04/encoder-updown2.png" alt="" class="wp-image-9021" width="580" height="269" srcset="https://depfields.com/wp-content/uploads/2021/04/encoder-updown2.png 681w, https://depfields.com/wp-content/uploads/2021/04/encoder-updown2-300x140.png 300w" sizes="(max-width: 580px) 100vw, 580px" /></a><figcaption> TI1およびTI2パルスカウント(TI1極性反転）マニュアルRM008より </figcaption></figure>



<div style="display: inline-block; background: #191970; padding: 5px 10px; color: #ffffff; border-radius: 5px 5px 0px 0px;"><strong>ポイント</strong></div>
<div style="background: #ffffea; border-radius: 0px 10px 10px 10px; padding: 10px; border: 3px solid #191970;">
<p> <strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">エンコーダインターフェースモード</span></strong>ではエンコーダの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">パルスエッジをカウント</span></strong>しますので<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TI1またはTI2のみ</span></strong>のエッジカウンタの場合は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">2逓倍</span></strong>、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TI1およびTI2</span></strong>のエッジカウンタの場合は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">4逓倍</span></strong>の分解能になります。</p>
</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2020/06/encoder-interfacemode-setting.jpg"><img decoding="async" width="752" height="667" src="https://depfields.com/wp-content/uploads/2020/06/encoder-interfacemode-setting.jpg" alt="" class="wp-image-2796" srcset="https://depfields.com/wp-content/uploads/2020/06/encoder-interfacemode-setting.jpg 752w, https://depfields.com/wp-content/uploads/2020/06/encoder-interfacemode-setting-300x266.jpg 300w" sizes="(max-width: 752px) 100vw, 752px" /></a></figure>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;①　GPIOおよびTIM4にクロックを供給　</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">GPIOポートD</span></strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>は</strong></span><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">APB2に接続</span></strong>、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TIM4はAPB1に接続</span></strong>しているのでそれぞれの<strong>ペリフェラルにクロックを供給</strong>します。</p>
</div></div></div>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;②　GPIO初期化後リマップ実行　</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>必要に応じて、GPIO初期化後リマップを実行します。</p>
</div></div></div>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;③　TIM4の初期化</span><span style="background-color: #003300; color: #ffffff;">　</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>外部クロックのカウントではTIM4の初期化は省略できそうな気もしますが実行しておきましょう。</p>
</div></div></div>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;④　TIM4をエンコーダフェースモードに設定　</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>TIM4を<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">エンコーダインターフェースモードで使用</span></strong>するために<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TIM_EncoderInterfaceConfig関数を実行</span></strong>します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>TI1とTI2の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">両方のエッジ</span></strong>を検出するモードでは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">カウント数が２倍になるためパルス分解能は４倍</span></strong>になります。いずれのモードでもTI1とTI2の位相によりアップカウント、ダウンカウントが切り替わります。</p>
</div></div></div>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;⑤　TIM4カウント開始　</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>最後に<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TIM_Cmd関数を実行</span></strong>し、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">カウントを開始</span></strong>します。</p>
</div></div></div>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;⑥　カウント値取得　</span></p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TIM4のカウンタ値</span></strong>はプログラム内で<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">任意のタイミングで取得</span></strong>します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/timer/" target="_blank" rel="external noopener"><div class="lkc-card"><div class="lkc-info"><img class="lkc-favicon" src="https://www.google.com/s2/favicons?domain=en.depfields.com" alt="" width=16 height=16 /><div class="lkc-domain">Most Powerful Bible to Become an Embedded Engineer</div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img class="lkc-thumbnail-img" src="//depfields.com/wp-content/uploads/pz-linkcard/cache/b27f4cbc7335270c99e42ab7373a6432539afcb7ffab4679bf8d9c0378022238.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Timer/Counter[STM32 Timers Details] | Most Powerful Bible to Become an Embedd...</div></div><div class="lkc-url">https://en.depfields.com/timer/</div><div class="lkc-excerpt">Timer counters on MCUs have a wide range of applications, such as counting the number of input pulses given externally, calculating input pulse frequency, outputting arbitrary frequency pulses, outputting PWM pulses, and measuring time</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/timer/">タイマ・カウンタ【STM32の高機能・汎用タイマ詳細】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
