MCUを使用せずにモジュールのプログラムを書くときは,一度MCUで動かしてからレジスタの値を確認するようにすると良いと思う.
調整するレジスタ
- TX1STAPIC16F1769
- RC1STA
- BAUD1CON
- SP1BRG (H/L)
- RxyPPS
- TX1REG
1.BAUD1CONレジスタの設定
TX1STA = 0b00100100
TXEN
:送信イネーブルビット.セットで有効
SYNC
: EUSARTモード選択ビット.クリアで非同期モード
BRGH
:高baudレート選択ビット.セットで高速 (※同期モードでは使用しない)
2.RC1STAレジスタの設定
RC1STA = 0b10000000
SPEN
:シリアルポート イネーブルビット.セットで有効.
※送信のみを行う場合も,このビットをセットしなければシリアル通信はできない.
3.BAUD1CONレジスタの設定
BAUD1CON = 0b00001000
SCKP
:同期クロック極性選択ビット.クリアでTX/CKピンへ非反転データを送信する.
BRG16
:16ビットbaudレート ジェネレータ ビット.セットで16ビットbaudレートジェネレータを使用.
4.SP1BRG (H/L)レジスタの設定
BAUDレートの設定を行うレジスタ.計算式は PIC16F1764_PIC16LF1769_j.pdf のP442を参照すること.
5.RxyPPSレジスタの設定
TX/CKピンに使用するピンを選ぶ.モジュール値は[0x16].
詳細については PIC16F1764_PIC16LF1769_j.pdf のP442を参照すること.
6.TX1REGレジスタの設定
送信する文字を格納するレジスタ.
※受信(RX)をする場合は,RC1STAbits.CREをセットし,RXPPSレジスタで希望のRXピンを設定する.
参考ページ
printf文の使い方
http://www.picfun.com/HI-Tech/HI-TECH08.html
MICROCHIP PIC16(L)F1764/5/8/9 日本語PDFデータシート
https://akizukidenshi.com/download/ds/microchip/PIC16F1764_PIC16LF1769_j.pdf