
PIC16F877です。
[環境]
MPLAB IDE 6.6
CCS 3.15
WinXP sp3
送受信ピンは専用ピンに割り当て、内蔵USARTを使ってRS232C通信しています。
PICから相手機器にコマンド発行し、相手から応答データが帰ってきていますが、
kbhit()を確認してもHighになってくれません。
PIC入力ピンをオシロで当たって波形も確認済み、また信号ラインをシリアルモニタで
受信データラインを横取りして確認してもデータは正常に読み取れていますので、データは
正常だと思います。
同じような経験をお待ちの方はおられませんか?
よろしくご教授、お願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
経験則ですが, PICは独特の内部アーキテクチャになっていますので, 不慣れな頃は勘違いによる設定ミスが私自身意外とありました.
IDEとの親和性において, コンパイラのバグは特殊条件において確認できているものもありますが, 基本動作において問題が発生するレベルのものはあるとは思えません.
文面から設定値等の詳細が分かりませんが, 少なくとも"Highになってくれません"ということから原因は以下の2点に絞れるのではないでしょうか.
(1)I/Oモジュール部の出力(トライステート等)がEnableとなっておりLowに引いてしまっている.(出力設定値を確認できれば進展があるかも)
(2)USART入力がEnableとなっていない
データシートでPORT I/Oの仕様を図で確認するのも必須ですが, 慣れてないと多少難しいかもしれません.
ファンクションを実装する前に, USART動作確認用のプロジェクトを作成しデフォルト起動時の状態からUSARTのみ動作させる動作確認を行うのが近道だと思います.
私ならまずささっとアセンブラでプロジェクトを作成して動作確認し, デバイス動作を含むハードの面に問題はないコトを切り分けすると思います.
877であればネット上にアセンブラのサンプルなどゴロゴロ転がっていますしさほど手間ではないかと.
今頂いている情報ではここらが限界ぽいです.
他に試せることと言ったらレジスタ設定をBIT命令をBYTE命令に置き換えて試すことくらいでしょうか.どうにもお困りでしたら, ソースを晒した方が早そうですね.
ありがとうございます。
日程の事もあり少々あせっている所もありました。
ご指摘の通り、原因の切り分けから、一つ一つ潰していこうと思います。
No.1
- 回答日時:
入力信号に問題は無さそうですので, PIC場合I/Oマルチファンクションに伴う設定ミスか, ボーレート設定のミスのどちらかだと思います.
データシートを見てみましたが, 他のPICの石と比べてレジスタ設定において躓く点は少なそうです.
SPENが1である事と該当ポートの出力が切ってあればデータ入力できそうです.
TRISC[7]は"1"になっていますでしょうか?(デフォルト入力のはず)
ありがとうございます。
ご指摘の箇所、いずれも、確認しましたが問題ないようでした。
PICで今回ほど複雑なもの(たかが知れてますが)を作るのは初めてでして。。
コンパイラバグの問題、リソースの問題なども考えた方が良いのか、等とも思っております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- Outlook(アウトルック) 未読ならば受信トレイから削除する 2 2023/02/12 19:21
- ガラケー・PHS 携帯電話の居場所信号の発信タイミング 3 2022/07/27 14:39
- その他(プログラミング・Web制作) COBOL数値転記をCOPY句内での仕様 6 2022/06/15 18:48
- 格安スマホ・SIMフリースマホ 楽天回線エリアなのかパートナーエリアなのか 2 2023/01/14 00:56
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Android(アンドロイド) iPhoneには、なぜ僕が合計3台持ちしているGalaxy A22やXperiaXZ1、arrows 4 2022/07/12 18:42
- 工学 高度な演習を行う「ロジック半導体」。そして、データの記憶を行う「メモリ半導体」、電気信号を制御する「 4 2023/01/10 07:04
- iCloud iPhone端末変更時のLINE引継ぎ 4 2023/07/09 15:07
- ネットワーク OSI参照モデルの各層の役割がわかりません。 3 2023/04/21 21:12
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
プログラミングを学べる!?進化している子どものおもちゃについて専門家に聞いた!
プログラミングを学べるレゴブロックがあることはご存知だろうか。レゴに限らず最近のおもちゃには、プログラミングの要素がどんどん取り入れられているようだ。「教えて!goo」にも、「プログラミングを学べる子供...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レジスタマップって何ですか?
-
PLCとPCの通信
-
Macターミナルで実行中のプログ...
-
トラックバック機能を作りたい
-
バックグラウンドのプロセスの...
-
VC++ 6.0 のソケット通信について
-
TCP/IP通信時のサーバーからの受信
-
ACCESS側からEXCELの書式を設定...
-
アセンブリ言語の問題
-
POSTデータが送信されなくなり...
-
popen実行時にバッファが空の場合
-
非ブロッキングソケットのrecv...
-
VC++2010 GDIオブジェクトの解...
-
ppm raw形式の構造
-
C# シリアル通信でデータ受信...
-
ActiveXでIEウインドウの最小化
-
C言語で途中までしか、プログラ...
-
家電製品の電力周波数を変える機械
-
別プログラムの終了監視
-
異なる言語間でのソケット通信...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レジスタマップって何ですか?
-
PLCとPCの通信
-
組み込みマイコンでのソフトウ...
-
USBハブの自作について
-
H8マイコンのプロテクト方法
-
機械語のレジスタペアについて
-
TCNTとTIFRの意味
-
シリアル通信でのデータ取りこぼし
-
スプレッとの制御
-
PIC12F683でLEDをスイッチで点...
-
FATの故障? 1ファイル内の文字化け
-
古い計量機器からのrs232cを使...
-
マイクロ秒で精度が出るタイマー
-
デジタルマルチメータの自動計...
-
フラッシュメモリへの書き込み
-
プリンタポートの制御
-
無限ループを使う意味
-
geko201とマイコンのシリアル通...
-
C言語 マイコン
-
PICマイコンのCLRWDT動作について
おすすめ情報