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

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

新規登録して質問してみよう
ただいま回答率
85.49%
C

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

マイコン

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

Q&A

4回答

2130閲覧

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

mimi3103

総合スコア8

C

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

マイコン

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

0グッド

0クリップ

投稿2018/12/24 07:21

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(芝浦電子様)

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

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

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

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

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

guest

回答4

0

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

  • 作成したプログラムをPICに送るためのPICライタ
  • 温度を取得するための温度センサ
  • 温度を表示するためのRS232などのアダプタやLCDなど

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

投稿2018/12/24 07:39

ozwind918

総合スコア1140

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

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

KenG1300R

2018/12/27 04:54

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

0

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

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

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

投稿2018/12/24 07:30

y_waiwai

総合スコア87747

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

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

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も)は回答する気を無くします。

投稿2018/12/25 15:38

編集2019/01/09 14:04
ikadzuchi

総合スコア3047

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

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

0

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

投稿2018/12/24 12:04

iwanote

総合スコア295

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問