なるはずですから、これで良いのではないかと思います。キャラクタを送信中だということになります。次に、キャラクタ送信中の全体を眺めてみます。ファースト)でキャラクタが送出されていることが分かります。辺りを見てみましょう。キャラクタを送信済みでアイドル状態だということです。...という感じで見て参りましたが、あくまでも俺々テストベンチですので、最終的には、他の方が設計したマイコンと繋いで評価してみたいと思います。)のレジスタや使い方を説明するだけではなく、多くの場合、それらペリフェラルのドライバソフトウェア(ライブラリ)を提供していると思います。もって責任分界点とする」メーカーが増えていることが挙げられます。このため、ハードウェアマニュアルにおいてレジスタや使い方の説明を省略し、ドライバソフトウェアの使用例を示しておしまいにしてしまうメーカーも現れています。このような潮流に対して、「メーカーがペリフェラルの使い方を説明する際に、レジスタ内容を説明するのは当然である。レジスタを操作すればペリフェラルを完全に制御でき、また、レジスタを見ればペリフェラルの内部状態が完全に分かるのだから」と言う人があります。私としては、心情的にはハードウェアの詳細をできるだけ示してくれるほうが安心ですし、そのようなメーカーのほうに好感を持てるのは確かですが、「レジスタを見ればペリフェラルの内部状態が完全に分かる」というのは本当なのでしょうか。設計で示したように、レジスタというのはあくまでも設計のインターフェイス、つまり、設計者と利用者の間の責任分界点の一つに過ぎない、ということが分かります。レジスタというのはペリフェラルのあらゆる信号を操作するためのものではなく、またペリフェラルの内部状態をくまなく提示しているものではない、ということです。いう言葉が使われますが、その意味からいうと、いくらレジスタアクセスが提供されているからといって、ペリフェラルの内部全てが必ずしも可制御、可観測であるわけではない、ということが言えます。)ちなみに、マイコンのペリフェラルレジスタで「書けるのに読めない」、「同じアドレスに書くのと読むのでは、働きが全く異なる」ものがあります。設計してみて納得しました。レジスタはメモリではないのです。レジスタがどのように振る舞うかは、ペリフェラルの設計次第です。あらゆる「部品」には設計者と利用者の間のインターフェイスが存在しますが、それがハードウェアインターフェイス(レジスタインターフェイス)であるか、ソフトウェアインターフェイス(API)であるかにおいて、本質的な違いはない、というのが私の考え方です。利用者に必要な制御や観測手段が提供されており、それらが仕様書通りに正しく動作するのであれば、責任分界点がハードウェアインターフェイスであろうが、ソフトウェアインターフェイスであろうが、どちらも良いのではないか、と思います。ソフトウェアインターフェイスを責任分界点とするメリットは、仮にハードウェアの設計に誤りがあったり、ハードウェアの改版によってハードウェア仕様が変更になったとしても、ドライバソフトウェアを修正すれば済む、ということが挙げられます。一般には後者(ソフトウェアインターフェイスを分界点にする)が、利用者に対する改版のインパクトは少ないものです。現在のところ多くのソフトウェアインターフェイス(API)は、利用者の視点に立っていないものであったり、仕様書通りに正しく動作しないものだったりすることが問題かと思います。マイコン等のペリフェラル設計を見ていると、ハードウェア設計者とドライバ設計者が十分にコミュニケーションできていないものが多いと感じます。設計者同士が十分に議論し、利用者の視点に立ったペリフェラル設計が増えることを期待したいところです。勉強しながらブログにまとめている背景には、実はそのような期待があるからと言っても過言ではありません。ソフトウェア設計者がペリフェラルハードウェアの動作を理解できるということは、ハードウェア設計とソフトウェア設計の間のギャップを埋め、結果として、利用者の視点に立ったペリフェラル設計に繋がるのではないか、と考えています。今後は引き続き、以下のような感じで作業を進めていこうと思っています。繋いでみるおつかれさまでした。WordpressTranslate。