<?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>USART | 即戦力モノづくり!エンジニアへの道標</title>
	<atom:link href="https://depfields.com/tag/usart/feed/" rel="self" type="application/rss+xml" />
	<link>https://depfields.com</link>
	<description>組み込み（マイコン）スキルを楽しんで学びながら身につけて短期間で効率よく自由自在に扱えるようになりたいと思いませんか？</description>
	<lastBuildDate>Wed, 12 Jul 2023 06:57:51 +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>USART | 即戦力モノづくり!エンジニアへの道標</title>
	<link>https://depfields.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>STM32マイコンのシリアル通信でセンサデータをグラフ化・収集してみる</title>
		<link>https://depfields.com/datalogger/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=datalogger</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Sat, 29 Aug 2020 05:55:52 +0000</pubDate>
				<category><![CDATA[計測アプリ]]></category>
		<category><![CDATA[計測]]></category>
		<category><![CDATA[USART]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=7222</guid>

					<description><![CDATA[<p>アプリケーションを作成しているとマイコンに取り込んだセンサデータなどのデジタルデータをオシロスコープのようにリアルタイムでグラフ化しながら収集したいことはよくあります。シリアル通信を使ってPCモニターにデータを表示させな [&#8230;]</p>
<p>The post <a href="https://depfields.com/datalogger/">STM32マイコンのシリアル通信でセンサデータをグラフ化・収集してみる</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="480" src="https://depfields.com/wp-content/uploads/2020/11/data_logger.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/11/data_logger.jpg 640w, https://depfields.com/wp-content/uploads/2020/11/data_logger-300x225.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">アプリケーションを作成しているとマイコンに取り込んだセンサデータなどのデジタルデータをオシロスコープのようにリアルタイムでグラフ化しながら収集したいことはよくあります。シリアル通信を使ってPCモニターにデータを表示させながらマイクロソフトExcelに取り込むことができる簡単に扱えるデータロガーを紹介します。</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">センサデータなどはターミナルアプリを使って、PCなどのモニターに出力して表示</span></strong>してきました。これらのデータはリアルタイムで確認できるのですが、数値の表示ですのでデータ変化の様子はつかみにくいです。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/11/ターミナル.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/11/ターミナル.jpg" alt="" class="wp-image-7236" width="495" height="193" srcset="https://depfields.com/wp-content/uploads/2020/11/ターミナル.jpg 494w, https://depfields.com/wp-content/uploads/2020/11/ターミナル-300x117.jpg 300w" sizes="(max-width: 495px) 100vw, 495px" /></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>できれば<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>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/11/データロガー.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/11/データロガー.jpg" alt="" class="wp-image-7237" width="480" height="194" srcset="https://depfields.com/wp-content/uploads/2020/11/データロガー.jpg 479w, https://depfields.com/wp-content/uploads/2020/11/データロガー-300x122.jpg 300w" sizes="(max-width: 480px) 100vw, 480px" /></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>させて、同時にマイクロソフト<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Excelファイル(csvフォーマット）に保存</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>私自身も、以前はVB(Visual Basic)やC#などでWindowsアプリとしてシリアル通信で受信したデータをグラフ表示したりする<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>



<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">CPLT</span></strong>（<a href="https://www.datatecno.co.jp/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener"><strong>ダウンロード先ホームページ</strong></a>）がお勧めです。</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>アプリ <strong>CPLT Version</strong> <strong>xxx</strong> の圧縮ファイルをダウンロードしてから解凍し、実行ファイルをダブルクリックするとアプリは起動します。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/11/CPLT.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/11/CPLT.jpg" alt="" class="wp-image-7243" width="682" height="491" srcset="https://depfields.com/wp-content/uploads/2020/11/CPLT.jpg 698w, https://depfields.com/wp-content/uploads/2020/11/CPLT-300x216.jpg 300w" sizes="(max-width: 682px) 100vw, 682px" /></a><figcaption>CPLT Ver.1.04 起動画面</figcaption></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> 実際にセンサからデータを取り込んでモニターさせるアプリケーションとして<strong><a href="https://depfields.com/thermometer-apl/">STM32マイコン Nucleoボードを使った温度計</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>および<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>サーミスタ抵抗値</strong></span>をモニターすることにします。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/09/circuit.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/circuit.jpg" alt="" class="wp-image-6725" width="497" height="350" srcset="https://depfields.com/wp-content/uploads/2020/09/circuit.jpg 497w, https://depfields.com/wp-content/uploads/2020/09/circuit-300x211.jpg 300w" sizes="(max-width: 497px) 100vw, 497px" /></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>設定(S)</strong>でCOMポート はUSBで認識したもの、 通信条件は プログラム内で設定したもの(9800,8bit,パリティなし,ストップビット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>チャネル数は２とし、１つ目は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">サーミスタ抵抗値</span></strong>で2つ目は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">温度</span></strong>に指定します。各チャネルの属性でそれぞれ名前、単位および目盛りあたりのデータ値（スケール）を指定します。横軸には１目盛りあたりのデータ数を指定します。例えば、1プロットを0.5s間隔で送信している場合は1目盛りあたりのデータ数を10とすると1目盛りが5sに相当します。</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>温度計アプリプログラム(temp monitor.c)のシリアル送信部のみデータロガー用に修正します。</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>でひとまとめしたものを送ります。数値でも文字列でもアプリで判別するようです。C言語標準関数<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">spirntf</span></strong>を使用する場合は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">stdio.h</span></strong>をインクルードしておいてください。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/11/文字列連結送信.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/11/文字列連結送信.jpg" alt="" class="wp-image-7248" width="611" height="392" srcset="https://depfields.com/wp-content/uploads/2020/11/文字列連結送信.jpg 611w, https://depfields.com/wp-content/uploads/2020/11/文字列連結送信-300x192.jpg 300w" sizes="(max-width: 611px) 100vw, 611px" /></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>してみてください。下図のようにカンマ区切りであればデータ順にCH1、CH2...と認識されます。これで準備は整いましたのでさっそくデータロガーアプリでリアルタイムのグラフ表示を開始してみましょう。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/11/terminal-data.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/11/terminal-data.jpg" alt="" class="wp-image-7260" width="586" height="405" srcset="https://depfields.com/wp-content/uploads/2020/11/terminal-data.jpg 616w, https://depfields.com/wp-content/uploads/2020/11/terminal-data-300x207.jpg 300w" sizes="(max-width: 586px) 100vw, 586px" /></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>アプリCPLTを起動してからデータモニターは「<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>」でデータ収集用ファイル名を指定すると開始します。問題なければCH1,CH2のデータのグラフ表示が始まります。</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>データプロットの間隔は横軸の設定で調整できますので適当なものに調整してください。グラフ表示されたデータは同時にチャネルごとにExcelファイル(csvフォーマット）に収集されていますので、解析、評価用データとして利用できます。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/11/log-graph.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/11/log-graph.jpg" alt="" class="wp-image-7241" width="711" height="504" srcset="https://depfields.com/wp-content/uploads/2020/11/log-graph.jpg 711w, https://depfields.com/wp-content/uploads/2020/11/log-graph-300x213.jpg 300w" sizes="(max-width: 711px) 100vw, 711px" /></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>でき、アプリケーション開発の強力なツールになることでしょう。</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/datalogger/" 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/0e28ef4fbb00f4eb15eabf39e2994aa5b1afc7d0b06fb11c0d8ccb9452c6c2b6.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Graphing and collecting sensor data via serial communication on STM32 MCU | M...</div></div><div class="lkc-url">https://en.depfields.com/datalogger/</div><div class="lkc-excerpt">When creating applications, it is often necessary to collect digital data such as sensor data captured by MCU while graphing it in real time like an oscilloscope. We introduce an easy-to-use data logger that can import data into Microsoft</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/datalogger/">STM32マイコンのシリアル通信でセンサデータをグラフ化・収集してみる</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>STM32 Nucleoで加速度センサを使ってみる</title>
		<link>https://depfields.com/accel-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=accel-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Sat, 29 Aug 2020 04:46:33 +0000</pubDate>
				<category><![CDATA[計測アプリ]]></category>
		<category><![CDATA[Nucleo]]></category>
		<category><![CDATA[計測]]></category>
		<category><![CDATA[AD変換]]></category>
		<category><![CDATA[USART]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=6708</guid>

					<description><![CDATA[<p>加速度センサとは 加速度センサというものはいろいろなセンサの中でも製品内の見えない場所で使われていることが多いので利用率が高い割にはどのようなものかを知らない人が多いかもしれません。 例えば、スマホでは内部の加速度センサ [&#8230;]</p>
<p>The post <a href="https://depfields.com/accel-apl/">STM32 Nucleoで加速度センサを使ってみる</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="640" height="428" src="https://depfields.com/wp-content/uploads/2020/10/rocket-launch-67643_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/10/rocket-launch-67643_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/10/rocket-launch-67643_640-300x201.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></div>




<h2 class="wp-block-heading">加速度センサとは</h2>



<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">加速度センサ</span></strong>というものはいろいろなセンサの中でも製品内の見えない場所で使われていることが多いので利用率が高い割にはどのようなものかを知らない人が多いかもしれません。</p>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">例えば、スマホでは内部の加速度センサにかかる重力から傾きを検知して画面の向きを変えたり、振動を計測する歩数計アプリなどに使われています。</p>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">今回使用する加速度センサはKinox社の3次元空間の加速度 をX,Y,Z軸で検出できるセンサ本体KXTC9-2050に50Hzのローパスフィルタ用コンデンサを装備したモジュールとなったものです。</p>



<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">動き、振動、衝撃などによる加速度</span></strong>に加えて重力(G)もオフセット分(DC分）として含まれるので、X,Y,Z軸方向の重力成分が分かれば<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">センサの傾きも検出</span></strong>できます。</p>



<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">重力による傾きの検出</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>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/KXTC9-2050.jpg" alt="" class="wp-image-6808" width="287" height="206" srcset="https://depfields.com/wp-content/uploads/2020/10/KXTC9-2050.jpg 461w, https://depfields.com/wp-content/uploads/2020/10/KXTC9-2050-300x216.jpg 300w" sizes="(max-width: 287px) 100vw, 287px" /><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> 加速度センサKXTC9-2050 は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">±2Gの範囲内</span></strong>で加速度を検出できます。仕様表1の出力から、例えば、X,Y軸を水平面とし、Z軸に重力方向にセンサを設置すると、X,Y出力は重力成分はゼロなので1.65V, Z軸出力は1G分を含むので2.32(=1.65+0.66)Vとなるはずです。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/仕様表1.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/仕様表1.jpg" alt="" class="wp-image-6823" width="599" height="333" srcset="https://depfields.com/wp-content/uploads/2020/10/仕様表1.jpg 599w, https://depfields.com/wp-content/uploads/2020/10/仕様表1-300x167.jpg 300w" sizes="(max-width: 599px) 100vw, 599px" /></a><figcaption> 仕様表1(データシートより) </figcaption></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>加速度センサは加速度を検知するものですが信号には重力加速度成分を<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">オフセット分（DC成分）</span></strong>として含んでいます。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">重力Gは9.8[m/sec<sup>2</sup>]で地面の向きに一定にかかっている加速度</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>しています。どういうことでしょうか。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/重力成分.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/重力成分.jpg" alt="" class="wp-image-6829" width="388" height="226" srcset="https://depfields.com/wp-content/uploads/2020/10/重力成分.jpg 388w, https://depfields.com/wp-content/uploads/2020/10/重力成分-300x175.jpg 300w" sizes="(max-width: 388px) 100vw, 388px" /></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>のです。したがって、机上など水平面に静止させると重力加速度Gと釣り合っている垂直抗力が重力Gとして検出されます。</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>となりますので、実際の動作の加速度にオフセット分（DC分）として含まれます。例えばZ軸の実際の重力方向（マイナス方向）に自由落下させると加速度センサ出力のZ軸成分は垂直抗力による重力オフセット分がキャンセルされてゼロ、つまり1.65Vになります。</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/KXTC9-2050_dir.jpg" alt="" class="wp-image-6830" width="407" height="293" srcset="https://depfields.com/wp-content/uploads/2020/10/KXTC9-2050_dir.jpg 461w, https://depfields.com/wp-content/uploads/2020/10/KXTC9-2050_dir-300x216.jpg 300w" sizes="(max-width: 407px) 100vw, 407px" /><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>を検出して計測すればよいわけです。また、<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軸分の加速度出力をモニターするアプリを作成します。</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>今回は<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>としてSTM32の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">AD変換</span></strong>を使用します。ペリフェラルAD変換は<strong><a href="https://depfields.com/adc/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">ADコンバータ【STM32のADコンバータ詳細】</a></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のAD変換ではアナログ信号入力のパラメータとして、センサの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">出力インピーダンス</span></strong>を指定する必要があります。メーカーの仕様表3(データシート)より<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">出力インピーダンスは平均32kΩ</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/仕様表2.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/仕様表2.jpg" alt="" class="wp-image-6824" width="612" height="161" srcset="https://depfields.com/wp-content/uploads/2020/10/仕様表2.jpg 612w, https://depfields.com/wp-content/uploads/2020/10/仕様表2-300x79.jpg 300w" sizes="(max-width: 612px) 100vw, 612px" /></a><figcaption> 仕様表2(データシートより) </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>加速度センサの信号をモニターするアプリにはアナログ入力3点およびPCへのシリアル通信を使用します。今回の AD変換 はアナログ信号が3点ありますので<strong><a href="https://depfields.com/dma/">DMA(Direct Memorry Access)</a></strong>と組み合わせると効率がよいです。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/仕様表.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/仕様表.jpg" alt="" class="wp-image-6809" width="497" height="284" srcset="https://depfields.com/wp-content/uploads/2020/10/仕様表.jpg 497w, https://depfields.com/wp-content/uploads/2020/10/仕様表-300x171.jpg 300w" sizes="(max-width: 497px) 100vw, 497px" /></a><figcaption>仕様表</figcaption></figure>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/配線図.jpg" alt="" class="wp-image-6818" width="517" height="361" srcset="https://depfields.com/wp-content/uploads/2020/10/配線図.jpg 517w, https://depfields.com/wp-content/uploads/2020/10/配線図-300x209.jpg 300w" sizes="(max-width: 517px) 100vw, 517px" /><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>実際のプログラムではX,Y,Z軸3点アナログ信号入力用にそれぞれポートPA0,PA1,PA4をアナログ入力AD1_CH0,AD1_CH1,AD1_CH4に設定し、AD変換を<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">複数チャネルデータをDMAによりメモリに自動転送</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>してシリアル通信で送信しています。</p>
</div></div></div>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2020/10/section1.png"><img decoding="async" width="606" height="967" src="https://depfields.com/wp-content/uploads/2020/10/section1.png" alt="" class="wp-image-6838" srcset="https://depfields.com/wp-content/uploads/2020/10/section1.png 606w, https://depfields.com/wp-content/uploads/2020/10/section1-188x300.png 188w" sizes="(max-width: 606px) 100vw, 606px" /></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>AD変換の初期設定では<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>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2020/10/section2.png"><img decoding="async" width="617" height="705" src="https://depfields.com/wp-content/uploads/2020/10/section2.png" alt="" class="wp-image-6839" srcset="https://depfields.com/wp-content/uploads/2020/10/section2.png 617w, https://depfields.com/wp-content/uploads/2020/10/section2-263x300.png 263w" sizes="(max-width: 617px) 100vw, 617px" /></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>このアプリでは1秒毎に加速度成分のX軸,Y軸,Z軸の電圧値（整数）をシリアル送信してPCターミナルでモニターしています。加速度センサーをX,Y軸平面上に静止させているので<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Z軸に重力加速度成分がオフセット分として追加</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>静止しているため、重力の影響を受ける成分（垂直抗力分）だけ  基準値約1.65Vに対して出力に変化が現れます。</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>X軸、Y軸についても重力の影響をうける向きに傾けると出力が変化するのがわかります。</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/output-monitor.jpg" alt="" class="wp-image-6834" width="560" height="426" srcset="https://depfields.com/wp-content/uploads/2020/10/output-monitor.jpg 560w, https://depfields.com/wp-content/uploads/2020/10/output-monitor-300x228.jpg 300w" sizes="(max-width: 560px) 100vw, 560px" /><figcaption>Z軸方向の重力（電圧値：整数）</figcaption></figure>



<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/accel-gravity-apl/'>加速度センサでの重力計測</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 5.99 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='6954'>ダウンロード</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/accel-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/e834d1c33e999e43d46d98170ccc43b30179469f963d4acb3904c239c68b8c0a.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Accelerometer using STM32 Nucleo | Most Powerful Bible to Become an Embedded ...</div></div><div class="lkc-url">https://en.depfields.com/accel-apl/</div><div class="lkc-excerpt">What is an Accelerometer?Among various sensors, accelerometers are often used in invisible places in products, so many people may not know what they are, despite their high utilization.For example, it is used in smartphones t</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/accel-apl/">STM32 Nucleoで加速度センサを使ってみる</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>シリアルモニター【STM32シリアル通信】</title>
		<link>https://depfields.com/monitor-debug-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=monitor-debug-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Mon, 15 Jun 2020 23:43:50 +0000</pubDate>
				<category><![CDATA[シリアル通信USARTを使ったアプリ]]></category>
		<category><![CDATA[USART]]></category>
		<guid isPermaLink="false">https://depfields.com/?page_id=3498</guid>

					<description><![CDATA[<p>STM32マイコンのシリアル通信機能を利用してプログラミングのデバッグを行います。プログラム内の任意の箇所に数値を表示するマイコン専用tsprintf文を挿入してPCの汎用ターミナルソフトでデータを表示することでデバッグ [&#8230;]</p>
<p>The post <a href="https://depfields.com/monitor-debug-apl/">シリアルモニター【STM32シリアル通信】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="1024" height="683" src="https://depfields.com/wp-content/uploads/2020/05/arif-riyanto-1DRq1ZsE2N0-unsplash-1-1024x683.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/05/arif-riyanto-1DRq1ZsE2N0-unsplash-1-1024x683.jpg 1024w, https://depfields.com/wp-content/uploads/2020/05/arif-riyanto-1DRq1ZsE2N0-unsplash-1-300x200.jpg 300w, https://depfields.com/wp-content/uploads/2020/05/arif-riyanto-1DRq1ZsE2N0-unsplash-1-768x512.jpg 768w, https://depfields.com/wp-content/uploads/2020/05/arif-riyanto-1DRq1ZsE2N0-unsplash-1-1536x1024.jpg 1536w, https://depfields.com/wp-content/uploads/2020/05/arif-riyanto-1DRq1ZsE2N0-unsplash-1-2048x1365.jpg 2048w, https://depfields.com/wp-content/uploads/2020/05/arif-riyanto-1DRq1ZsE2N0-unsplash-1-scaled.jpg 780w" sizes="(max-width: 1024px) 100vw, 1024px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">STM32マイコンのシリアル通信機能を利用してプログラミングのデバッグを行います。プログラム内の任意の箇所に数値を表示するマイコン専用tsprintf文を挿入してPCの汎用ターミナルソフトでデータを表示することでデバッグを実現します。</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">シリアルモニター</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">シリアル通信USART3</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>用に設定し、送信関数USART3_Send_Stringを定義しています。</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>サンプルプログラムでは定義したUSART3のシリアル送信をつかってプログラム内の数値や文字列を送信するものです。具体的には2種類の数値data1とdata2を文字列数字String_data1とString_dataに変換して配列に格納したメッセージの文字列と1000ms毎に交互で表示させることをしています。</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><a href="https://depfields.com/debug/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">組み込みプログラムデバッグ</a></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>このアプリの使い方は簡単で、実際のアプリケーション内にこのサンプルプログラムで設定しているUSART3部分および割り込み送信関連を転用して、活用してください。</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/serialmonitor/'>シリアルモニター</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 4.45 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='4938'>ダウンロード</a>
            </div>
        </div>
    </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">tsprintf関数</span></strong>を使用していますので、tsprintf.cとそのヘッダファイル<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">tsprintf.h</span></strong>はソースファイルと同じ場所にコピーしておいてください。</p>
</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>tsprintf関数はC言語の標準出力関数printfに近い出力機能をマイコンSTM32用にカスタマイズしたものです。<br />サンプル例ではプログラム内で扱っているデータをシリアル通信で送信するときに文字列に変換するのに使用します。</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>tsprintf関数実行例： tsprintf(String, ,"%d",data);</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>文字列を格納する配列変数のポインタ（先頭アドレス）</strong>を指定し、第2引数は<strong>数字</strong>の<strong>表示するタイプ</strong>を指定になっていて以下に示します。</p>
</div></div></div>



<ul>
<li>10進数表示：%d</li>



<li>16進数表示(小文字０-f)：%x</li>



<li>16進数表示(大文字０-F)：%X</li>



<li>文字：%c</li>



<li>ASCII文字列：%s</li>
</ul>



<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='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/tspringf/'>tspringf関数</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 1.24 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='3996'>ダウンロード</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/monitor-debug-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/ce143bc5b5a4b11e9b6f7eb5a9a5be756025bec4a838af3379920e528283941c.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Serial Monitor [USART of STM32] | Most Powerful Bible to Become an Embedded E...</div></div><div class="lkc-url">https://en.depfields.com/monitor-debug-apl/</div><div class="lkc-excerpt">Debug programming using the USART of the STM32 MCU. Debugging is achieved by inserting microcontroller-specific tsprintf statements that display numerical values at arbitrary points in the program and displaying the data using general-purp</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/monitor-debug-apl/">シリアルモニター【STM32シリアル通信】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>文字列DMA送受信アプリ【STM32シリアル通信】</title>
		<link>https://depfields.com/usart-rxtx-dma-buffer-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=usart-rxtx-dma-buffer-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Mon, 15 Jun 2020 22:31:00 +0000</pubDate>
				<category><![CDATA[シリアル通信USARTを使ったアプリ]]></category>
		<category><![CDATA[USART]]></category>
		<guid isPermaLink="false">https://depfields.com/?page_id=3484</guid>

					<description><![CDATA[<p>STM32シリアルUSART通信の文字列送受信にDMAを使用したアプリケーションです。文字列が長い場合や転送回数が多い場合はCPUに負担をかけないDMAが有利です。 ポイント サンプルプログラムでは簡略化のため受信処理も [&#8230;]</p>
<p>The post <a href="https://depfields.com/usart-rxtx-dma-buffer-apl/">文字列DMA送受信アプリ【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/network-4430786_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/06/network-4430786_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/06/network-4430786_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"><strong><a href="https://depfields.com/usart/" target="_blank" rel="noreferrer noopener">STM32シリアルUSART通信</a></strong>の文字列送受信にDMAを使用したアプリケーションです。文字列が長い場合や転送回数が多い場合はCPUに負担をかけないDMAが有利です。</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>DMA転送による文字列の送受信プログラムです。</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>



<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> 文字列が長い場合や転送回数が多い場合はDMAが有利です。 </p>
</div></div></div>



<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 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='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/uart-dma/'>文字列DMA送受信固定長バッファ付き</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 7.55 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='3493'>ダウンロード</a>
            </div>
        </div>
    </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/string-dma-sent-received/'>文字列DMA送受信可変長バッファなし</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 7.07 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='10089'>ダウンロード</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/usart-rxtx-dma-buffer-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/e3d0ea36064ac1ce8d60ccb040a3310bc586b0e5571e7ac179098001bb58a0f7.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">String DMA send/receive application [USART of STM32] | Most Powerful Bible to...</div></div><div class="lkc-url">https://en.depfields.com/usart-rxtx-dma-buffer-apl/</div><div class="lkc-excerpt">This application uses STM32 USART DMA for sending and receiving character strings in serial communication. When character strings are long or the number of transfers is large, DMA is advantageous because it does not burden the CPU.Thi</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/usart-rxtx-dma-buffer-apl/">文字列DMA送受信アプリ【STM32シリアル通信】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>文字列割り込み送信アプリその２【STM32シリアル通信】</title>
		<link>https://depfields.com/usart-tx-it-buffer-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=usart-tx-it-buffer-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Mon, 15 Jun 2020 15:48:13 +0000</pubDate>
				<category><![CDATA[シリアル通信USARTを使ったアプリ]]></category>
		<category><![CDATA[USART]]></category>
		<guid isPermaLink="false">https://depfields.com/?page_id=3467</guid>

					<description><![CDATA[<p>STM32マイコンのシリアル通信で数種類の文字列を互いに干渉させずに送るバッファ付きのアプリケーションです。複数の文字列送信を干渉せずに実行するためにバッファを設けています。</p>
<p>The post <a href="https://depfields.com/usart-tx-it-buffer-apl/">文字列割り込み送信アプリその２【STM32シリアル通信】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="640" height="427" src="https://depfields.com/wp-content/uploads/2020/06/web-4841856_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/06/web-4841856_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/06/web-4841856_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">STM3<strong><a href="https://depfields.com/usart/" target="_blank" rel="noreferrer noopener">2マイコンのシリアル通信</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>ポインタを使用した文字列送信では一種類の文字は送信できましたが、複数の文字列を送信すると干渉して送ることができません。</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>ポインタを配列にすることで文字列ごとに対応したそれぞれのポインタを配列に指定しています。参考プログラムでは配列数を8としているので8種類の文字列まで対応しています。</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/uart-string-tx-interrupt-buffer/'>文字列割り込み送信（バッファ付き）</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 4.81 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='3471'>ダウンロード</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/usart-tx-it-buffer-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/d6c4ef62ec454e6f0b3ce7e08f3427fecf10b9d7bcee146ac7acf6854e69de09.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">String Interrupt send application Part 2 [USART of STM32] | Most Powerful Bib...</div></div><div class="lkc-url">https://en.depfields.com/usart-tx-it-buffer-apl/</div><div class="lkc-excerpt">This is a buffered application that sends several types of strings in USART with the STM32 MCU without interfering with each other. The buffer is provided to perform multiple string transmissions without interference.Although one type</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/usart-tx-it-buffer-apl/">文字列割り込み送信アプリその２【STM32シリアル通信】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>文字列割り込み送受信アプリ【STM32シリアル通信】</title>
		<link>https://depfields.com/usart-rxtx-it-buffer-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=usart-rxtx-it-buffer-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Mon, 15 Jun 2020 21:59:01 +0000</pubDate>
				<category><![CDATA[シリアル通信USARTを使ったアプリ]]></category>
		<category><![CDATA[USART]]></category>
		<guid isPermaLink="false">https://depfields.com/?page_id=3478</guid>

					<description><![CDATA[<p>STM32のシリアルUSART通信にて文字列送信にバッファを使用して複数の文字列を割り込みでおこなうプログラムに受信も割り込みで処理したものです。 送受信ともに割り込み処理を行い、複数の文字列を任意のタイミングで送信でき [&#8230;]</p>
<p>The post <a href="https://depfields.com/usart-rxtx-it-buffer-apl/">文字列割り込み送受信アプリ【STM32シリアル通信】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="640" height="359" src="https://depfields.com/wp-content/uploads/2020/06/binary-2904980_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/06/binary-2904980_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/06/binary-2904980_640-300x168.jpg 300w, https://depfields.com/wp-content/uploads/2020/06/binary-2904980_640-320x180.jpg 320w" sizes="(max-width: 640px) 100vw, 640px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"><strong><a href="https://depfields.com/usart/" target="_blank" rel="noreferrer noopener">STM32のシリアルUSART通信</a></strong>にて文字列送信にバッファを使用して複数の文字列を割り込みでおこなうプログラムに受信も割り込みで処理したものです。</p>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"> 送受信ともに割り込み処理を行い、複数の文字列を任意のタイミングで送信できる実用的なプログラムです。 </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/uart-string-rxtx-interrupt-buffer/'>文字列割り込み送受信（バッファ付き）</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 4.68 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='3481'>ダウンロード</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/usart-rxtx-it-buffer-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/417f9c9a818eca8a3eac4a8088a7d73ca6817f47bfa53da2942624973783db5a.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">String interrupt send/receive application [USART of STM32] | Most Powerful Bi...</div></div><div class="lkc-url">https://en.depfields.com/usart-rxtx-it-buffer-apl/</div><div class="lkc-excerpt">This is a program that uses a buffer for sending strings and interrupts for multiple strings, and also interrupts for receiving strings using STM32 USART.This is a practical program that performs interrupt processing for both sending a</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/usart-rxtx-it-buffer-apl/">文字列割り込み送受信アプリ【STM32シリアル通信】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>文字列割り込み送信アプリその１【STM32シリアル通信】</title>
		<link>https://depfields.com/usart-tx-it-pointer-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=usart-tx-it-pointer-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Mon, 15 Jun 2020 15:11:20 +0000</pubDate>
				<category><![CDATA[シリアル通信USARTを使ったアプリ]]></category>
		<category><![CDATA[USART]]></category>
		<guid isPermaLink="false">https://depfields.com/?page_id=3460</guid>

					<description><![CDATA[<p>STM32マイコンのシリアル通信で文字列を割り込みで送信するアプリケーションです。文字列を最も簡易で理解しやすいポインタを利用して変数に格納しながら送る方式ですが、送信は1種類に限られ、数種類の文字列を送信すると互いに干 [&#8230;]</p>
<p>The post <a href="https://depfields.com/usart-tx-it-pointer-apl/">文字列割り込み送信アプリその１【STM32シリアル通信】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="640" height="412" src="https://depfields.com/wp-content/uploads/2020/06/background-1201003_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/06/background-1201003_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/06/background-1201003_640-300x193.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></div>


<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"><strong><a href="https://depfields.com/usart/" target="_blank" rel="noreferrer noopener">STM32マイコンのシリアル通信</a></strong>で文字列を割り込みで送信するアプリケーションです。文字列を最も簡易で理解しやすいポインタを利用して変数に格納しながら送る方式ですが、送信は1種類に限られ、数種類の文字列を送信すると互いに干渉するのが難点です。</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>PCへの文字列を割り込みを使って送信するプログラムです。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">1種類の文字列を送信する場合にのみ有効</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>



<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">1種類の文字列を送信</span></strong>するものです。<br>文字列を送信する関数を500msごとに無限ループ内で繰り返し実行させています。</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='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/uart-string-tx-interrupt-pointer/'>文字列割り込み送信（ポインタ式）</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 3.48 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='3464'>ダウンロード</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/usart-tx-it-pointer-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/d733b2ccc03a397bf1d8d8009e4804a81cade704b800716add929a7f5608ebe9.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">String Interrupt send application Part 1 [USART of STM32] | Most Powerful Bib...</div></div><div class="lkc-url">https://en.depfields.com/usart-tx-it-pointer-apl/</div><div class="lkc-excerpt">This application sends strings via interrupt in USART with the STM32 MCU. This method is the simplest and easiest to understand, using a pointer to store the string in a variable while sending it, but it is limited to one type of string,</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/usart-tx-it-pointer-apl/">文字列割り込み送信アプリその１【STM32シリアル通信】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>文字列割り込み受信アプリ【STM32のシリアル通信】</title>
		<link>https://depfields.com/usart-rx-it-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=usart-rx-it-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Mon, 15 Jun 2020 12:20:09 +0000</pubDate>
				<category><![CDATA[シリアル通信USARTを使ったアプリ]]></category>
		<category><![CDATA[USART]]></category>
		<guid isPermaLink="false">https://depfields.com/?page_id=3450</guid>

					<description><![CDATA[<p>STM32マイコンのシリアル通信で受信割り込みを使うアプリケーションです。ポーリング方式に比べて受信時だけ処理できるので効率的です。すぐに使える応用例です。</p>
<p>The post <a href="https://depfields.com/usart-rx-it-apl/">文字列割り込み受信アプリ【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/matrix-3408060_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/06/matrix-3408060_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/06/matrix-3408060_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<strong><a href="https://depfields.com/usart/" target="_blank" rel="noreferrer noopener">マイコンのシリアル通信</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>PCからの<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>といって、定期的に受信が発生したかどうかをチェックしていました。</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>マイコンにとってPCからの文字列受信はいつ発生するかはわかりません。この不定期に発生する受信のためにポーリング処理を行うのは効率がいいとはいえません。そこで、受信があったときだけ処理をする<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>プログラムの文字列処理など基本的なところはポーリング方式のものと同じです。<br>割り込みを使用するためのNVIC設定を行い、優先度や使用する割り込みチャネルを指定します。USART3よる割り込みの場合は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">USART3_IRQn</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>ポーリング方式ではmain関数内に記述していた、受信コードと登録コードの判別は割り込みベクタ内に記述していますので、<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='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/uart-string-rx-interrupt/'>文字列割り込み受信</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 4.09 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='3458'>ダウンロード</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/usart-rx-it-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/54db5b0390007c919410f5e20a3eef8872aed0efb4cea185d666e686cd3f581e.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">String interrupt receivie application [USART of STM32] | Most Powerful Bible ...</div></div><div class="lkc-url">https://en.depfields.com/usart-rx-it-apl/</div><div class="lkc-excerpt">This application uses receive interrupts in USART with the STM32 MCU. Compared to the polling method, it is more efficient because it can process only when receiving. This is an example of a ready-to-use application.This program recei</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/usart-rx-it-apl/">文字列割り込み受信アプリ【STM32のシリアル通信】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>文字列送受信アプリ【STM32のシリアル通信】</title>
		<link>https://depfields.com/usart-rxtx-string-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=usart-rxtx-string-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Mon, 15 Jun 2020 11:51:00 +0000</pubDate>
				<category><![CDATA[シリアル通信USARTを使ったアプリ]]></category>
		<category><![CDATA[USART]]></category>
		<guid isPermaLink="false">https://depfields.com/?page_id=3440</guid>

					<description><![CDATA[<p>STM32マイコンのシリアル通信で1文字コードを送るだけでは実用的ではありませんので連続の文字列を送受信に発展させたアプリケーションです。連続した文字列をポインタを利用して変数に格納して送受信する応用例です。</p>
<p>The post <a href="https://depfields.com/usart-rxtx-string-apl/">文字列送受信アプリ【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/binary-1536646_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/06/binary-1536646_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/06/binary-1536646_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"><strong><a href="https://depfields.com/usart/" target="_blank" rel="noreferrer noopener">STM32マイコンのシリアル通信</a></strong>で1文字コードを送るだけでは実用的ではありませんので連続の文字列を送受信に発展させたアプリケーションです。連続した文字列をポインタを利用して変数に格納して送受信する応用例です。</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文字の送受信を行いましたが、実際の通信では2文字以上の文字列を扱います。USARTシリアル通信では送受信自体のコマンドは1文字(8ビット)単位ですので<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>して送受信するプログラムです。</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>PCで文字列を入力して終端文字'@'までの文字列をポインタを利用して配列RxString[]に格納します。</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>入力した文字列があらかじめ登録した文字コード"ABC"との一致を判別するプログラムです。</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>ため、送受信をしているときに待ち時間が発生しており、実用的とはいえないのですが、<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>文字列送受信の基本がつまったプログラム</strong></span>です。</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/uart-string/'>文字列送受信</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 3.87 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='3446'>ダウンロード</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/usart-rxtx-string-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/9e62feedc1c570e69758f556671bcdefa3d1bfb3d5e85a86b4d6f5386cbba8a1.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">String send/receive application [USART of STM32] | Most Powerful Bible to Bec...</div></div><div class="lkc-url">https://en.depfields.com/usart-rxtx-string-apl/</div><div class="lkc-excerpt">Since it is not practical to send a single character code in USART with the STM32 MCU, this application has been developed to send and receive a continuous string of characters. This is an example of an application that uses a pointer to s</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/usart-rxtx-string-apl/">文字列送受信アプリ【STM32のシリアル通信】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>1文字送受信アプリ【STM32のシリアル通信】</title>
		<link>https://depfields.com/usart-rxtx-char-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=usart-rxtx-char-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Mon, 15 Jun 2020 10:38:56 +0000</pubDate>
				<category><![CDATA[シリアル通信USARTを使ったアプリ]]></category>
		<category><![CDATA[USART]]></category>
		<guid isPermaLink="false">https://depfields.com/?page_id=3422</guid>

					<description><![CDATA[<p>STM32シリアル通信の最も簡易なプログラムです。通信アプリは文字列を扱うため、マイコン知識外のほぼ言語的なものです。文字を格納する配列、ポインタやアドレスの概念などに慣れるのには最適です。 設定仕様：入力：PC10　フ [&#8230;]</p>
<p>The post <a href="https://depfields.com/usart-rxtx-char-apl/">1文字送受信アプリ【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/network-3539325_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/06/network-3539325_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/06/network-3539325_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"><strong><a href="https://depfields.com/usart/" target="_blank" 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>や<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>手始めに1文字（1バイト）のシリアル送受信を行うプログラムから始めましょう。</p>
</div></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>入力</strong>：<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">PC10</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><br><strong>出力</strong>：<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">PC11</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>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/sirial-usart-nucleo.jpg" alt="" class="wp-image-5134" width="482" height="201" srcset="https://depfields.com/wp-content/uploads/2020/06/sirial-usart-nucleo.jpg 482w, https://depfields.com/wp-content/uploads/2020/06/sirial-usart-nucleo-300x125.jpg 300w" sizes="(max-width: 482px) 100vw, 482px" /><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>ｍain関数にdelay_ms(100)を挿入して100msのサイクル無限ループとします。</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">USART_GetFlagStatus関数</span></strong>の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">フラグUSART_FLAG_RXNE</span></strong>を<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">100ms毎にポーリング</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">USART_ReceiveData関数</span></strong>で１文字を変数RxDataに格納します。</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>変数RxDataに格納された文字は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">USART_SendData関数</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>と呼ばれる通信です。次に文字を受信するまで同じ文字をサイクル毎(100ms)に表示し続けます。</p>
</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>マイコンからの送信文字はPC側のターミナルソフト（端末エミュレータ）と呼ばれるアプリでシリアル通信表示します。<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">通信条件をマイコンと同じに設定</span></strong>しておきます。一般的なターミナルソフトとしてTera Termなどがあります。</p>
</div>
<p>&nbsp;</p>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;シリアル通信条件：&nbsp;</span></p>



<ul><li>ボーレート：9600</li><li>データ長：8ビット</li><li>ストップビット：1</li><li>パリティ：なし</li><li>フロー制御：なし</li></ul>



<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/uart-char/'>1文字送受信</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 2.78 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='3445'>ダウンロード</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/usart-rxtx-char-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/ef37a93a33c065c3247d2afab94d2cdbb9f95554aa8a60daac2307976ed6b3bf.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">1 character send/receive application [USART of STM32] | Most Powerful Bible t...</div></div><div class="lkc-url">https://en.depfields.com/usart-rxtx-char-apl/</div><div class="lkc-excerpt">This is the simplest program for STM32 USART. The communication application is almost language-like outside of MCU knowledge because it deals with strings. It is a great way to familiarize yourself with arrays to store characters, the conc</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/usart-rxtx-char-apl/">1文字送受信アプリ【STM32のシリアル通信】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
