teratail header banner
teratail header banner
質問するログイン新規登録

質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
シリアルポート

シリアルポートは一度に一ビットごと移行される物理的なインターフェイスです。一般的には、9ピンのd-subコネクタであるRS-232を指します。

mbed

mbed(エンベッド)は、Webサイト上でC++を使って開発を行う、ワンボードマイコンのプロトタイピングツールです。PCに開発環境をインストールする必要がなく、Webにアクセスできればどこにいても開発を行うことができます。

Q&A

解決済

2回答

1139閲覧

mbedでのパリティ付シリアル通信方法について

yukenai

総合スコア16

シリアルポート

シリアルポートは一度に一ビットごと移行される物理的なインターフェイスです。一般的には、9ピンのd-subコネクタであるRS-232を指します。

mbed

mbed(エンベッド)は、Webサイト上でC++を使って開発を行う、ワンボードマイコンのプロトタイピングツールです。PCに開発環境をインストールする必要がなく、Webにアクセスできればどこにいても開発を行うことができます。

0グッド

0クリップ

投稿2018/10/07 06:15

0

0

Necleo STM32F446REにmbedでプログラムを作って、シリアル通信したいと思っています。
通信はパリティ付(Odd or EVEN)シリアル通信で行いたく、パリティ付に設定するために
xxx.format(8, SerialBase::Odd, 1);と記載し、エラーもなく、書き込めて、いざ、putc('a')などで
送信し、オシロで波形を確認したのですが、10ビットのまま(スタート、ストップビット含む)でパリティ無と変わっていませんでした。
そこで、putc()等をどのように記述したら、パリティ付の通信が可能なのでしょうか?
パリティ無の送受信記述との違う部分を教えて下さい。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pepperleaf

2018/10/07 13:13

基本的なところですが、 bit数とか、stop bitを変更して有効になるでしょうか?
yukenai

2018/10/08 09:41

そう言われてみては、そちらを確認して「いませんでした。後ほど、確認して返信しますのでお待ちください。
pepperleaf

2018/10/08 11:27

自分でもよくやるミスなのですが、変えたつもりが、実は反映してないというミスの確認です。詳しくないのでそれ以上はお役に立てないと思いますが、参考までに。
yukenai

2018/10/09 03:47

変更は行っています。それが確実ですが、その.formatのコマンドそのものがNecleo STM32F446REに有効なのか確認のために、bit数、stop bitの変更で変わるか確認します。まだオシロが使えないので使えるようになったら、また、連絡します。
yukenai

2018/10/10 00:34

オシロで確認しましたが、xxx.format( )はビルドするのですが全然有効になっていないようです。Necleo STM32F446REでパリティ付きのシリアル通信が出来る方法を教えて下さい。
guest

回答2

0

自己解決

理由は不明ですが、name.format(x,y,z)のxのbit数指定を8=>7にして、Parityを指示することで
8bit Parity有UARTができました。

S1.format(8, Serial::Odd, 1); // NG
S1.format(7, Serial::Odd, 1); // OK

投稿2018/10/25 05:06

yukenai

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

回答になってなくて申し訳ありませんが、、、、

ビルド手順の再確認をする事をおすすめします。
多分、ビルドしたものが、有効になっていないのでは無いかと思います。

mbedへの転送は成功していますか?
まず、その辺の確認をされた方が良いかと思います。

それでもダメな場合は、開発環境 (PC: ???, mbed環境: ???) とか明記された方が回答は得られやすいと思います。

役に立てず、申し訳ありませんが、参考までに。

投稿2018/10/10 13:05

pepperleaf

総合スコア6385

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukenai

2018/10/11 01:31

コンパイル、書込みは大丈夫だと思っています。 送信データも変わっていますので!  どうも思うにmbedでNecleo STM32F446REにxx.formatが対応していないような気がするんですが???
pepperleaf

2018/10/11 11:34

putc('B') とかに書き換えて、'B'が送られているでしょうか?
yukenai

2018/10/12 03:45

送信出来ています。8bit(スタート、ストップbit含めて10bit) パリティ無し 1bit stop bit で デフォルトのままですが!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問