PIC専用のスレ Part30

このエントリーをはてなブックマークに追加
885569
569です。規制でかけないから古い話でごめんなさい。まずはお礼、そして結果。
>>608
Bit SPEN (RCSTA<7>), and bits TRISB<2:1>,
have to be set in order to configure pins RB2/TX/CK and RB1/RX/DT as
the Universal Synchronous Asynchronous Receiver Transmitter.
これを「TRISB設定がいるよー」程度にしか読めない語学力がつらいぜ。
しかも設定が「TXは出力だから出力だろー」はダメなのかYO。orz
早速修正…頻度は減ったけど?まだ数回に一回0x00×4を送信している。
ドキュメント40ページの「FIGURE 5-10: BLOCK DIAGRAM OF RB2/TX/CK PIN」見て思うのは
※Note 1: Peripheral OE (output enable) is only active if peripheral select is active.
とあるから、ペリフェラル設定がすると負論理でデジタルI/O止めてると思うのよね。(ANDとってるし)
初期化のタイミングでゴミが漏れる可能性は否定できないので規制しちゃう方で正解と思っておきます。勉強になりました。

>>607
と、言うわけでPICの送信(Tx)、PCの受信(Rx)です。記述もれてすまん。

その後回路シミュレータでも正常で、あったま来たからロジアナ引っ張り出した。結果はあっけなく。
リセットタイム不足。。。外部クロックを供給しているのだが、これの発振安定が悪く、POR時間でも足りずと言うオチ。申し訳ない。
つまりソフト的問題ではなかった。そして >>608 のはどっちに設定しても変わらない結果を報告しておく。
やはり内部回路の通りで「FIGURE 5-10: BLOCK DIAGRAM OF RB2/TX/CK PIN」通りの挙動をした。

遅れたお詫びではないが >>860 よ、下記をみろ。sdccがある版以降「ライセンス関連の修正」をした。その結果このオプションなしだとそうなる。
ttp://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?install%2Fsdcc-mplab#content_1_17