PIC18F67J60 LAN
TCPIP 2010/09/14 2010/09/29 変更 
PIC18F67J60
LAN DHCP SMTP メール・DHCPはこちらをクリック。
●RTC8564とI2C.少し変更 2010/09/29
少し変更。
"SNTPMain_20100929.c" .txtになっています。"SNTP_20100929.c"も。
●RTC8564とI2C.
2010/09/28
テストプログラムのままですが、ソフト落せるようにしておきます。
割込みを使用していますが、使用(表示)方法怪しいです。直してください。
なんだかんだとテスト中のが残っています。例のごとく、各自修正お願いします。
"SNTPMain_20100928.c" .txtになっています。"SNTP_20100928.c"も。
動作
NTPサーバーからデータをもらいLCDに表示
時間は、そのままカウントされる。
RTC8564は、正常に立上がると搭載しているLED点滅します。
RS232Cの出力にRTC8564の時計データが表示される。
RTC8564は、ネットでの時間データを取得すると新しい時間データが書込まれる。
回路変更
18F67J60
34Pin(SCL),35Pin(SDA)をそれぞれRTC8564の6Pin(SCL),5Pin(SDA)に接続。
18F67J60
3Pin(INT0)をRTC8564の3Pin(/INT)に接続。
RTC-8564ユニットのプルアップランドをショート。(RTC8564は秋月さんで販売しているものです。)
232Cは、18F67J60
31Pin(TX),32Pin(RX)をレベル変換してパソコンに接続。
後は、I2Cが使えるので・・・
スイッチサイエンスさんに安い(たぶん?)気圧計があるので試そう。
●RTC8564とI2C.
2010/09/23
I2Cを使うに、I2CEEPROM.cを使用するのかと思いTCPIP Stack
Ver5.25を探してもファイル無し?
TCPIP Stack
Version.txtを読むとVer3.75に付属のものを使用して、もしおかしいところがあれば
自分で直して使用してください。みたいなことが書いてある?。
で、試しに書いてみるとSCLが出てこない?あれこれ突いてみたけど....
はまってしまったので、MPLAB−C18にあるI2C制御用の組込み関数を使用すると問題ないようだ。
このまま、組込んであるものを使用していいのか、I2CEEPROM.cを使用するべきなのか解らない。
後、
BCD変換するためにプログラムを追加していると、なぜか飛ぶときあり。
たとえば
long bcd_year;
みたいなのを追加で書くと、コンパイルエラー無く書込めるが動作させると
永久ループに入り込む。??
●SNTPデータup.
2010/09/17
自分のバックアップをかねて(いじっていると飛ばしてまう)ファイルを上げておきます。
ファイルは、"SNTPMain.c","TCPIPConfig.h","HardwareProfile.h"です。クリックしてください。
拡張子がtxtになっていますが、変更してご利用ください。
[PICで楽しむネットワーク]本からの変更は、デバッグ用にRS232Cの信号を出しています。
プログラム中では、コメントアウトしています。
基本回路は本に載っているPIC18F67J60回路でそのまま動作すると思います。
記事中のDHCP機能の解析項目が動作していれば、そこから変更すればいいかと思います。
変更が必要な箇所、TCPIPConfig.hのMACアドレスを入れてください。IPアドレスも必要なら変えてください。
HardwareProfile.hのYOUR_BOARD指示は2668行から。
SNTP.cはMicrochip
Solutions\Microchip\TCPIP Stackにあります。。
SNTP.hはMicrochip
Solutions\Microchip\Include\TCPIP Stackにあります。
最初の問い合わせと、インターバルはSNTP.cの#define
NTP_FAST_QUERY_INTERVALと#define
NTP_QUERY_INTERVAL。
初期設定は、14sec?と10min?でしょうか?インターバル短い?テストが終われば延ばした方がいい?
使用しているのは、MPLAB
IDE V8.53 C18 V3.36 TCPIPスタック
V5.25です。
書き込みは、ICD2を利用しています。
本物のプログラマーではないので、怪しいところ盛りだくさん!?
気に入らないところは、各自修正をお願いいたします。
●LCD表示直しとRTC8564.
2010/09/16
表示を直すときにプログラムを一部消してしまった。
RTC8564を乗っけて試す。単体では動作しているが、合体して動作させると変。
TCP/IPサンプルのI2C使い方不明。
今のバージョンにはI2CEEPROM何とかが無い??。

●時計を試してみる.
2010/09/14
SMTPを利用してメールを送れたが、原因も追求できそうにないのでSNTPしてみるテスト。
MPLAB IDE
V8.53 C18 V3.36 TCPIPスタック V5.25 同じ。
C:\Microchip
Solutions\Microchip\TCPIP
Stack\SNTP.cを使用しました。
LCDの表示状態は微妙に変だが、何とかNTPサーバーから時間をもらい、
怪しいけど動作している気がする。
リアルタイムクロックをつけないと時計にならないのかと思っていたが、勝手にカウントアップしてくれている。
秋月でRTC-8564NBを購入したので、それを使えるように試そう。
16FシリーズでCCSCを使えば割と簡単にRTCはつながると思うが、PIC18とC18だと・・・(自信なし)
テスト中に232Cで信号を出してデバッグしようとしたのだが、なぜか送信できない。
この間何かしてるときは、動いていたのだが???
TCPClientも試してみたが、動作をしているようだがプログラムが何をしているのか不明。
C:\Microchip
Solutions\TCPIP Demo
App\BerkeleyTCPClientDemo.cです。
時計はしばらく動かしてみて様子を見よう。
NTPサーバーから時間をもらって、時計動作中。↓表示いまいち
