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

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

ただいまの
回答率

90.42%

  • C

    4110questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

  • マイコン

    78questions

    マイクロコンピュータの略で、CPUにマイクロプロセッサを用いたコンピュータのこと。家電製品、電磁機器などの制御に用いられています。単体でコンピュータとしての機能を一通り備えています。 現代のパーソナルコンピュータに近く、同時期のメインフレームやミニコンピュータと比べ、小さいことが特徴です。

PICの取得データ表示に関して教えていただきたいです。

受付中

回答 4

投稿

  • 評価
  • クリップ 0
  • VIEW 117

mimi3103

score 2

PIC16F1938とPSB-S3シリーズのサーミスタを使用し, C言語にて簡単な温度計プログラムを作成しております。
作成したプログラムをMPLAB Xのシミュレータにて実行させたところ、希望する動作が確認できました。

しかし、シミュレーション上ではなく、実際に、PICがAD変換をしてプログラム内で計算して算出した温度をチェックしたい
と思っています。

C言語でのソフト開発やVSなどのアプリ開発では、実行するとコマンドプロンプトやOUTPUTの画面にて
それらを簡単にチェックすることができると思います。
しかしPICでは何かしらの設定を行う必要があるのでしょうか?

自分なりに調べてみたところ、USART通信やRS232通信などのシリアル通信で文字列を送受信してといったような
内容の記事がいくつか見受けられました。

正直なところ、自分の知識不足で記事の内容を100パーセント理解することはできず
自分のやりたいことがこれでできるのかというのがいまいちよくわかりません。

もし方法がなければ、LCDなどのディスプレイに表示させる方法で対処しようかと思います。

詳しい方いらっしゃいましたら、ご教授願えますでしょうか。

MPLAB X ver5.10 XC8コンパイラ ver2.00    C言語  PIC16F1938      使用サーミスタPSB-S3(芝浦電子様)

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

回答 4

+1

LCDに表示するなら、LCDのコントロール信号線をPICのIOポートに接続し、その回路図をもとに文字を表示するようなコードを組む必要があります
なにもないところから、そこまでの回路を組み、配線し、コードを組む、と言うのはちょっとハードルが高いんじゃないかと思います

それをするぐらいなら、シリアル通信でなにがしかのメッセージを出力させ、PCでそれを表示させる、というほうが、簡単にできると思います。

で、もひとつ、これから始める、というなら、PICでするより、Arduinoで始めたほうが、開発環境も無料で、情報もたくさん出回ってるのでいいんじゃないかと思いますがどーでしょう

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

PIC経験者です。他の方が回答されている通り、現在のマイコンの主流はArduinoなどと思われますが、どうしてもPICでやりたい理由があるという想定で記載します。
まず、必要なもの、知識として以下が挙げられます。

  • 作成したプログラムをPICに送るためのPICライタ
  • 温度を取得するための温度センサ
  • 温度を表示するためのRS232などのアダプタやLCDなど
    上記を準備した上で、PICにプログラムをコンパイルして書込み、電子回路を実装する必要があります。
    学習などが目的であればブレッドボードなどが手軽で良いのではないでしょうか。
    PICのそれぞれの足が何の用途に使用できるのかについては型番で調べてデータシートを参照してください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/12/27 13:54

    PIC16F1938がMCCに対応していればGUIからの操作でシリアル通信のドライバコードを出力してくれます。
    ドライバコードはstdioに対応しているのでprintf等でシリアル通信へ文字の出力が可能です。
    最近はシリアルポートのあるPCも減っているのでUSBシリアル変換基板の使用をお勧めします。
    私は秋月電子の超小型USBシリアル変換モジュールを使用しました。
    USBの5Vから動作電源も取れて一石二鳥です。
    ただし、モジュール側の送信端子が3.3Vなのでレベル変換のロジックICが必要です。
    PICライタにはPICkit3が使えそうです。
    PICkit3はプログラムの書き込みのほか、プログラムのデバッグもできるエミュレータの機能もあります。
    PIC16F1938はデバッグヘッダのいらないタイプなのでPICkit3だけでデバッグも書き込みも出来ます。

    キャンセル

0

温度計のデータを表示したいだけなら7セグLEDとかを使うのもありだと思いますけどね
あれならそこまで難しいものでもないですし

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

C言語はあまり使ったことがないのですが、普通にprintfなどの関数は用意されています。
組み込みプログラミングにおけるprint系の関数はふつう、最終的に1文字出力のputch関数を呼び出すところまでしか実装されておらず、putchの中身は自分で実装する必要があると思います。
PICとPCをつなぐ最も簡単な方法はUSB↔シリアル(RS-232C)変換器を使うことです。
PICからはシリアル信号を出すことになります。
USARTモジュールを使うこともできますが、信号の論理の正負がRS-232Cとは逆なので間にロジックICでNOTを挟むか、RS-232Cとは逆の論理のシリアルを扱える変換器を探すか、あるいは自力で1bitづつ送信するプログラムを書く手もあります。
なおRS-232Cとマイコンは電圧が違いますが、たいてい大丈夫です。


あ、Yahoo知恵袋にいい回答が来てますね。
http://akizukidenshi.com/catalog/g/gK-01977/
これが上記の「RS-232Cとは逆の論理のシリアルを扱える変換器」です。
これを買って(E)USARTモジュールで送信するputchを書けばprintfが使えると思います。


おっと、質問者が削除したのか上記の質問・回答が消滅しましたね。これだからYahoo知恵袋(や最近は教えてgooも)は回答する気を無くします。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • C

    4110questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

  • マイコン

    78questions

    マイクロコンピュータの略で、CPUにマイクロプロセッサを用いたコンピュータのこと。家電製品、電磁機器などの制御に用いられています。単体でコンピュータとしての機能を一通り備えています。 現代のパーソナルコンピュータに近く、同時期のメインフレームやミニコンピュータと比べ、小さいことが特徴です。