<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://mochiu.net/index.php?action=history&amp;feed=atom&amp;title=MSP430G2553_-_UART</id>
	<title>MSP430G2553 - UART - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://mochiu.net/index.php?action=history&amp;feed=atom&amp;title=MSP430G2553_-_UART"/>
	<link rel="alternate" type="text/html" href="https://mochiu.net/index.php?title=MSP430G2553_-_UART&amp;action=history"/>
	<updated>2026-05-31T05:19:36Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://mochiu.net/index.php?title=MSP430G2553_-_UART&amp;diff=11463&amp;oldid=prev</id>
		<title>Wiki: 文字列「__FORCETOC__」を「{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{…</title>
		<link rel="alternate" type="text/html" href="https://mochiu.net/index.php?title=MSP430G2553_-_UART&amp;diff=11463&amp;oldid=prev"/>
		<updated>2024-10-14T01:31:51Z</updated>

		<summary type="html">&lt;p&gt;文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{…&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2024年10月14日 (月) 10:31時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l214&quot;&gt;214行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;214行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{#seo:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|image=/resources/assets/MochiuLogo_Single_Blue.png&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__FORCETOC__&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__FORCETOC__&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[カテゴリ:MSP430]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[カテゴリ:MSP430]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mochiu_wiki:diff:1.41:old-10127:rev-11463:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
	<entry>
		<id>https://mochiu.net/index.php?title=MSP430G2553_-_UART&amp;diff=10127&amp;oldid=prev</id>
		<title>Wiki: ページの作成:「== 概要 == UART (Universal Asynchronous Receiver / Transmitter) (汎用非同期送受信機) は、シリアル通信の一種であり、データを1ビットずつ送受信する。&lt;br&gt; &lt;br&gt; * 非同期通信 *: 送信側と受信側が別々のクロックを使用して、あらかじめ設定されたボーレート (通信速度) に基づいてデータを送受信する。 *: &lt;br&gt; * データフォーマット *: スタートビット、データビッ…」</title>
		<link rel="alternate" type="text/html" href="https://mochiu.net/index.php?title=MSP430G2553_-_UART&amp;diff=10127&amp;oldid=prev"/>
		<updated>2024-06-12T04:32:53Z</updated>

		<summary type="html">&lt;p&gt;ページの作成:「== 概要 == UART (Universal Asynchronous Receiver / Transmitter) (汎用非同期送受信機) は、シリアル通信の一種であり、データを1ビットずつ送受信する。&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; * 非同期通信 *: 送信側と受信側が別々のクロックを使用して、あらかじめ設定されたボーレート (通信速度) に基づいてデータを送受信する。 *: &amp;lt;br&amp;gt; * データフォーマット *: スタートビット、データビッ…」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 概要 ==&lt;br /&gt;
UART (Universal Asynchronous Receiver / Transmitter) (汎用非同期送受信機) は、シリアル通信の一種であり、データを1ビットずつ送受信する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* 非同期通信&lt;br /&gt;
*: 送信側と受信側が別々のクロックを使用して、あらかじめ設定されたボーレート (通信速度) に基づいてデータを送受信する。&lt;br /&gt;
*: &amp;lt;br&amp;gt;&lt;br /&gt;
* データフォーマット&lt;br /&gt;
*: スタートビット、データビット (通常8ビット)、パリティビット (オプション)、ストップビットで構成される。&lt;br /&gt;
*: &amp;lt;br&amp;gt;&lt;br /&gt;
* ボーレート&lt;br /&gt;
*: 通信速度のことであり、ビット/秒 (bps) で表現される。&lt;br /&gt;
*: 送信側と受信側で同じ設定が必要となる。&lt;br /&gt;
*: &amp;lt;br&amp;gt;&lt;br /&gt;
* フロー制御&lt;br /&gt;
*: データの送受信を制御するために、ハードウェアまたはソフトウェアの手法を使用する。&lt;br /&gt;
*: &amp;lt;br&amp;gt;&lt;br /&gt;
* 送受信バッファ&lt;br /&gt;
*: 送信するデータと受信したデータを一時的に保持するバッファである。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
UARTは、マイコンとPC間、マイコン同士、または他の周辺機器との通信に広く利用されている。&amp;lt;br&amp;gt;&lt;br /&gt;
UARTを使用する場合は、ボーレート、データフォーマット、フロー制御等の設定を適切に行う必要がある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UART ==&lt;br /&gt;
==== 非同期通信 ====&lt;br /&gt;
UARTは非同期通信方式を採用している。&amp;lt;br&amp;gt;&lt;br /&gt;
送信側と受信側が別々のクロックを使用して、データの送受信タイミングを同期させる必要がない。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
送信側と受信側は、あらかじめ設定されたボーレート (通信速度) に基づいてデータを送受信する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== シリアル通信 ====&lt;br /&gt;
UARTは、データを1ビットずつ順番に送信するシリアル通信方式である。&amp;lt;br&amp;gt;&lt;br /&gt;
送信側は、データを1ビットずつ送信線 (TX) に送出して、受信側は、受信線 (RX) から1ビットずつデータを受信する。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== データフォーマット ====&lt;br /&gt;
UARTでは、一般的に以下のようなデータフォーマットが使用されている。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* スタートビット&lt;br /&gt;
*: データの開始を示すビット (通常は0)&lt;br /&gt;
* データビット&lt;br /&gt;
*: 実際のデータを表すビット (通常は8ビット)&lt;br /&gt;
* パリティビット&lt;br /&gt;
*: エラー検出用のビット (偶数パリティまたは奇数パリティ)&lt;br /&gt;
* ストップビット&lt;br /&gt;
*: データの終了を示すビット (通常は1または2ビット)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== ボーレート ====&lt;br /&gt;
ボーレートは、UARTの通信速度を表す。&amp;lt;br&amp;gt;&lt;br /&gt;
単位は、ビット/秒 (bps) である。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
一般的なボーレートには、9600[bps]、19200[bps]、38400[bps]、115200[bps]等がある。&amp;lt;br&amp;gt;&lt;br /&gt;
送信側と受信側は、同じボーレートに設定する必要がある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== フロー制御 ====&lt;br /&gt;
UARTでは、データの送受信を制御するためにフロー制御が使用される場合がある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* ハードウェアフロー制御&lt;br /&gt;
*: RTS (Request to Send) 信号とCTS (Clear to Send) 信号を使用して、データの送受信を制御する。&lt;br /&gt;
* ソフトウェアフロー制御&lt;br /&gt;
*: XON / XOFF制御文字を使用して、データの送受信を制御する。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 送受信バッファ ====&lt;br /&gt;
UARTには、送信バッファと受信バッファが用意されている。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
送信バッファは送信するデータを一時的に保持して、受信バッファは受信したデータを一時的に保持する。&amp;lt;br&amp;gt;&lt;br /&gt;
バッファを使用することにより、データの送受信を効率的に行うことができる。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 耐ノイズ性 ==&lt;br /&gt;
UARTは、他の通信方式と比較して、ノイズの影響を比較的受けやすい通信方式である。&lt;br /&gt;
以下に示す理由から、UARTはノイズに弱いといえる。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* 単線通信&lt;br /&gt;
*: UARTは、送信線 (TX) と受信線 (RX) の2本の信号線を使用して通信を行う。&lt;br /&gt;
*: ノイズの影響を受けると、データの誤りが発生しやすくなる。&lt;br /&gt;
*: &amp;lt;br&amp;gt;&lt;br /&gt;
* 非同期通信&lt;br /&gt;
*: UARTは非同期通信方式を採用しているため、送信側と受信側のクロックが完全に同期していない。&lt;br /&gt;
*: ノイズの影響でデータのタイミングがずれると、通信エラーが発生する可能性がある。&lt;br /&gt;
*: &amp;lt;br&amp;gt;&lt;br /&gt;
* 信号レベル&lt;br /&gt;
*: UARTは、一般的にTTLレベル (0[V]～5[V]) やCMOSレベル (0[V]～3.3[V]) の信号レベルを使用する。&lt;br /&gt;
*: これらの信号レベルは、ノイズの影響を受けやすく、信号の品質が低下する可能性がある。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ただし、UARTのノイズ耐性を向上させるためのいくつかの手法がある。&amp;lt;br&amp;gt;&lt;br /&gt;
* シールドケーブルの使用&lt;br /&gt;
*: 通信線をシールドケーブルで保護することにより、外部ノイズの影響を軽減することができる。&lt;br /&gt;
*: &amp;lt;br&amp;gt;&lt;br /&gt;
* 適切な信号レベルの選択&lt;br /&gt;
*: 通信距離や環境に応じて、適切な信号レベル (RS-232、RS-422、RS-485等) を選択することにより、ノイズの影響を軽減できる。&lt;br /&gt;
*: &amp;lt;br&amp;gt;&lt;br /&gt;
* パリティビットの使用&lt;br /&gt;
*: パリティビットを使用することにより、通信エラーを検出して、データの整合性を確認できる。&lt;br /&gt;
*: &amp;lt;br&amp;gt;&lt;br /&gt;
* フィルタの使用&lt;br /&gt;
*: ハードウェアまたはソフトウェアのフィルタを使用して、高周波ノイズを除去することができる。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
これらの手法を適切に組み合わせることにより、UARTのノイズ耐性を向上させることができる。&amp;lt;br&amp;gt;&lt;br /&gt;
ただし、極端に高いノイズ環境下では、より高いノイズ耐性を持つ通信方式 (I2C、SPI、CAN等) の使用を検討する必要がある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UARTの設定 ==&lt;br /&gt;
UART通信の設定を行う場合、UCA0CTL0レジスタを適切に設定する必要がある。&amp;lt;br&amp;gt;&lt;br /&gt;
ただし、通信相手のデバイスも同じデータフォーマットを使用するように設定する必要があることに注意する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* データ長 8ビット, パリティなし, 1ストップビット (8N1)&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 UCA0CTL0 &amp;amp;= ~UCPEN;  // パリティなし&lt;br /&gt;
 UCA0CTL0 &amp;amp;= ~UC7BIT; // 8ビットデータ&lt;br /&gt;
 UCA0CTL0 &amp;amp;= ~UCSPB;  // 1ストップビット&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* データ長 8ビット, パリティなし, 2ストップビット (8N2)&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 UCA0CTL0 &amp;amp;= ~UCPEN;  // パリティなし&lt;br /&gt;
 UCA0CTL0 &amp;amp;= ~UC7BIT; // 8ビットデータ&lt;br /&gt;
 UCA0CTL0 |= UCSPB;   // 2ストップビット&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* データ長 7ビット, パリティ付き, 1ストップビット (7E1)&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 UCA0CTL0 |= UCPEN;   // パリティ付き&lt;br /&gt;
 UCA0CTL0 |= UC7BIT;  // 7ビットデータ&lt;br /&gt;
 UCA0CTL0 &amp;amp;= ~UCSPB;  // 1ストップビット&lt;br /&gt;
 UCA0CTL0 |= UCPAR;   // 偶数パリティ&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== サンプルコード ==&lt;br /&gt;
MSP430G2553マイコンを使用して、UART通信を行うための手順を、以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
ターミナルソフト (PuTTY等) を使用して、設定したボーレート (以下の例では、9600[bps]) でシリアル通信を行う。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* ハードウェアの接続:&lt;br /&gt;
*: MSP430G2553のP1.1 (UCA0RXD) を受信端子に接続する。&lt;br /&gt;
*: MSP430G2553のP1.2 (UCA0TXD) を送信端子に接続する。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 #include &amp;lt;msp430.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 void main(void)&lt;br /&gt;
 {&lt;br /&gt;
    WDTCTL = WDTPW | WDTHOLD;   // ウォッチドッグタイマを停止&lt;br /&gt;
 &lt;br /&gt;
    // クロック設定 (例: 1[MHz])&lt;br /&gt;
    DCOCTL = 0;&lt;br /&gt;
    BCSCTL1 = CALBC1_1MHZ;&lt;br /&gt;
    DCOCTL  = CALDCO_1MHZ;&lt;br /&gt;
 &lt;br /&gt;
    // UART設定&lt;br /&gt;
    P1SEL = BIT1 + BIT2;        // P1.1とP1.2をUART用に設定&lt;br /&gt;
    P1SEL2 = BIT1 + BIT2;       // P1.1とP1.2をUART用に設定&lt;br /&gt;
    UCA0CTL1 |= UCSSEL_2;       // SMCLK (サブメインクロック) を使用&lt;br /&gt;
    UCA0BR0 = 104;              // 9600bps (1[MHz]時)&lt;br /&gt;
    UCA0BR1 = 0;                // 9600bps (1[MHz]時)&lt;br /&gt;
    UCA0MCTL = UCBRS0;          // モジュレーションステージ&lt;br /&gt;
    UCA0CTL1 &amp;amp;= ~UCSWRST;       // UARTをソフトウェアリセットから解除&lt;br /&gt;
 &lt;br /&gt;
    // 送信例&lt;br /&gt;
    while (!(UCA0IFG &amp;amp; UCTXIFG));  // 送信バッファが空になるまで待機&lt;br /&gt;
    UCA0TXBUF = &amp;#039;H&amp;#039;;               // 文字 &amp;#039;H&amp;#039; を送信&lt;br /&gt;
 &lt;br /&gt;
    // 受信例&lt;br /&gt;
    while (!(UCA0IFG &amp;amp; UCRXIFG));  // 受信バッファにデータが入るまで待機&lt;br /&gt;
    char receivedChar = UCA0RXBUF; // 受信データを読み込み&lt;br /&gt;
 &lt;br /&gt;
    // メインループ&lt;br /&gt;
    while(1) {&lt;br /&gt;
        // ...略&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PCとのUART通信 ==&lt;br /&gt;
LinuxでマイコンとUART通信を行う場合は、以下の手順に従う。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
# シリアルポートの接続&lt;br /&gt;
#: マイコンのUART送信ピン (TX) をPCのシリアル受信ピン (RX) に接続する。&lt;br /&gt;
#: マイコンのUART受信ピン (RX) をPCのシリアル送信ピン (TX) に接続する。&lt;br /&gt;
#: マイコンとPCのグラウンド (GND) を接続する。&lt;br /&gt;
#: &amp;lt;br&amp;gt;&lt;br /&gt;
# シリアルポートの設定&lt;br /&gt;
#: ターミナルを開いて、シリアルポートを設定する。&amp;lt;br&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;stty -F &amp;lt;デバイスファイルのパス&amp;gt; &amp;lt;ボーレート&amp;gt; &amp;lt;データ長&amp;gt; &amp;lt;ストップビット長&amp;gt; &amp;lt;パリティビットの有無&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;br&amp;gt;&lt;br /&gt;
#: 例: &amp;lt;code&amp;gt;stty -F /dev/ttyUSB0 9600 cs8 -cstopb -parenb&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;br&amp;gt;&lt;br /&gt;
#: /dev/ttyUSB0は、使用するシリアルポートのデバイスファイル名を入力する。 (環境に応じて適切なデバイスファイル名に変更すること)&lt;br /&gt;
#: 9600は、ボーレートを表します。 (マイコン側の設定と一致させる)&lt;br /&gt;
#: cs8は、データ長を8ビットに設定する。&lt;br /&gt;
#: -cstopbは、ストップビットを1ビットに設定する。&lt;br /&gt;
#: -parenbは、パリティビットを無効にする。&lt;br /&gt;
#: &amp;lt;br&amp;gt;&lt;br /&gt;
# 通信の確立&lt;br /&gt;
#: &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;コマンドを使用して、シリアルポートを読み書きする。&lt;br /&gt;
#: シリアルポートからの入力を受信して、ターミナルに表示する。&lt;br /&gt;
#: &amp;lt;code&amp;gt;cat &amp;lt;デバイスファイルのパス&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#: 例: &amp;lt;code&amp;gt;cat /dev/ttyUSB0&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;br&amp;gt;&lt;br /&gt;
#: 別のターミナルを開いて、&amp;lt;code&amp;gt;echo&amp;lt;/code&amp;gt;コマンドおよび&amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;を使用して、シリアルポートに書き込む。&lt;br /&gt;
#: これにより、シリアルポートにテキストが送信される。&lt;br /&gt;
#: &amp;lt;code&amp;gt;echo &amp;quot;Hello, MSP430!&amp;quot; &amp;gt; &amp;lt;デバイスファイルのパス&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;br&amp;gt;&lt;br /&gt;
# 通信の確認&lt;br /&gt;
#: マイコン側で受信処理が正しく実装されている場合、送信したテキストがマイコンで受信される。&lt;br /&gt;
#: マイコン側で送信処理が正しく実装されている場合、マイコンから送信されたデータがターミナルに表示される。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;※注意&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;シリアルポートのデバイスファイル名 (/dev/ttyUSB0等) は、環境によって異なる場合がある。&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;code&amp;gt;ls /dev/tty*&amp;lt;/code&amp;gt;コマンドを実行して、利用可能なシリアルポートを確認すること。&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;ボーレートやデータフォーマット等の設定は、マイコン側の設定と一致している必要がある。&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;一部のLinuxディストリビューションでは、シリアルポートへのアクセス権限が必要な場合があるため、適切な権限を設定すること。&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
[[カテゴリ:MSP430]]&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
</feed>