• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PIC、USART USART送信ができません)

PIC、USART USART送信ができません

このQ&Aのポイント
  • PICマイコンからPCへのUSART送信ができません。ステッピングモータも正常に動作せず、Tera Termにも文字が表示されません。原因や解決方法を教えてください。
  • PICマイコンのUSART送信がうまくいかず、ステッピングモータも正常に動作しません。Tera Termにも出力がありません。原因と対処方法を教えてください。
  • PICマイコンからのUSART送信がうまくいきません。ステッピングモータも正常に動作しません。Tera Termにも出力がありません。原因と対策を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • koujikuu
  • ベストアンサー率43% (429/993)
回答No.2

PIC16F877Aでチェックしました、RCSTA.SPEN の設定が抜けていました、以下を初期設定に追加して下さい MOVLW 0X90 MOVWF RCSTA 参考 ; pic16f877a test  processor 16f877a  #include <p16f877a.inc>  ERRORLEVEL -302  __CONFIG _HS_OSC & _WDT_OFF & _CP_OFF & _LVP_OFF & _BODEN_OFF & _PWRTE_ON  ORG 0  GOTO MAIN  ORG 4  RETFIE RS_INI  BANKSEL RCSTA  MOVLW 0X90  MOVWF RCSTA  BANKSEL TRISC  BCF TRISC,6  MOVLW 0X20  MOVWF TXSTA  MOVLW 0X0F  MOVWF SPBRG  RETURN RS_OUT  BANKSEL TXSTA RS_OUT_LOOP  BTFSS TXSTA,TRMT  GOTO RS_OUT_LOOP  BANKSEL TXREG  MOVWF TXREG  RETURN MAIN CALL RS_INI MOVLW 'A' CALL RS_OUT MOVLW 'B' CALL RS_OUT GOTO $ END

vaioha0
質問者

お礼

ありがとうございます。無事動きました。送信のレジスタにしか目が向いてなく、盲点でした。

その他の回答 (1)

  • koujikuu
  • ベストアンサー率43% (429/993)
回答No.1

気付いた点だけですが w_temp EQU 0x0C status_temp EQU 0x0D pic16f877の共通データメモリは、F0-FF になります ORG 0x004 movwf w_temp movf STATUS,w movwf status_temp 割り込みのSTATUSレジスタの退避にはMOVF命令は使えません、(Zフラグが変化する為) SWAP命令を使用して下さい データーシート (例 12-1) に説明があります http://akizukidenshi.com/download/ds/microchip/PIC16F877.pdf movlw B'01000000' movwf TRISC;RXピンを入力に設定 USARTは、PC7-RX入力 PC6-TX出力になります CONFIGに_BODEN_OFF を追加したほうが良いと思われます

vaioha0
質問者

補足

ループ無しで試したところTXIFおよびTMRTのカウンタは0、つまりFULLになっていますが、Tera Termに文字列が送られてきません。どのような原因が考えられるかご教授お願いします。

関連するQ&A