忍者ブログ

ロボットとか

ロボットとかのブログ

entry_top_w.png
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

entry_bottom_w.png
entry_top_w.png
SH7125での、シリアル通信について。


SH7125での開発を進めるためにSCIを用いたシリアル通信は必要不可欠なのだけれども、その方法がなかなか見つからない。
前に書いたサイトのおかげで、文字の送受信、文字列の送信、文字の送信を工夫して変数の値の送信はできた。

とりあえずこれで必要なことはできるようになったけれども、使い勝手がよろしくない。
やっぱりSH7045やH8のPrintfっぽいのがほしいと要望を受けたもののどうやってやったらいいものか。

そこに天の声とばかりに「GCCのヘッダファイルとか見て見たら」とアドバイスをもらう。
さっそく見てみると、「sci1.c」やら「sci1_printf.c」やらビンゴそうなファイルが。

最初はまるっと移植しようとして、ポートだけ直して文字通りまるっと移植したんだけど動かない。
その時はそれで断念してしまったけど、よくよく考えてみたら「sci1_printf.c」には「rs_putc」や「rs_puts」などなど今できていることがそのまま使えそうなコードが。

実際に前のプログラムと組み合わせてみたら、一部の手直しで見事動作。
これでSH7125でもSH7045やH8と同じ使い勝手に。

既存のコードを参考にするのは非常に有用なものだね。

実際に作ったソースは、GoogleGroopのほうに「SH7125_sci1~」という名前であげてあります。

拍手[2回]

PR
entry_bottom_w.png
entry_top_w.png
今日はSH7125を使うために変数の値を返すプログラムを書いた。
SH7125はもともと文字列しか返せないため、数字の変数を返すために10で割ったあまりを配列に、整数部をさらに10で割ったあまりを配列に格納してを繰り返して、最後にswitch文で値に対応した文字列をFor文で順々に表示。

変数名の表示は面倒だけど、

   int evangelion=123;

   Put_UART_s("evangelion:");

   print_d(evangelion);

といった感じで表示することになり、これで、

   「evangelion:123」

と表示される。
プログラム本文は右下の「プログラムはこちら」からどうぞ。

拍手[0回]

”SCIで変数の値を返す”のプログラムはこちら
entry_bottom_w.png
entry_top_w.png
2009年11月16日月曜日

今日はSCI通信を実用的に使うための実験。

ctype.hにあるisalpha関数で、数字と英字を切り分けて操作してみようと試みる。
結果、切り分けはできるものの入力したChar型の数字をInt型にうまく変換できず、入力値を計算等に使うことはできなかった。
う~ん、Bcpad上では計算にも使えるんだけど、マイコンではうまくいかないな。

でもアルファベットが送れれば操作はできるので、明日以降はマイコン側の値を何とかして送り返してみようと思う。
多分If文のオンパレードになるかもしれないけど、強引にでもやるかな。




この記事はhttp://nagatsuki-robot.blogspot.com/で、2009年11月16日月曜日に投稿されたものを再投稿したものです。

拍手[0回]

entry_bottom_w.png
entry_top_w.png
・2009年11月10日火曜日

昨日のプログラムが実行できない問題に続けて、SCIで入力が返ってこない問題も解決できそう。

昨日まで実行できなかったのはそもそもHEWでプログラムを書き込んだつもりで書き込んでなかったから。
つまりは「対象ファイルのアップロード」じゃなくて「ダウンロード」を押していた。
うまくいかない時は初心に返ってマニュアル通りにやってみるというのを改めて認識。

SCI通信を使って、マイコンから文章を送ることに成功。
まあ、「(別室)SH-2(SH7125F/SH7144F)で遊ぼう 」のサンプル「5002030.c」を使っただけだけど。
でも、これをもとに使えるSCI通信のプログラムを頑張って作るぞ。


/*-----追記09.11.10-----*/

プログラム書き込み後にCOM○が開けない理由が判明。
どうやらFDTで書き込み後、デバイスとの接続を切断しないとTERA TERMなどのシリアル通信ソフトで接続ができないらしい。

Put_UART_c();をコメントアウトしたところ、入力がTeraTerm上に返ってこなかったことから、一応入力を返しているっぽい。
でも、入力に応じて動作を変えるとかはできない。
if文自体に問題はないはずだけどなぁ。
多分、型とかそこらへんの問題だろう。




この記事はhttp://nagatsuki-robot.blogspot.com/で、2009年11月10日火曜日に投稿されたものを再投稿したものです。

拍手[0回]

entry_bottom_w.png
plugin_top_w.png
プロフィール
名前:H238/ながつき
このブログについて:
ロボットについての勉強などを中心に勝手に書いていきます.あくまで本人のメモなので期待しないように.
ちなみにブログデザインは趣味.
plugin_bottom_w.png
plugin_top_w.png
ブログ内検索
タグ一覧(追加中)
[活動101] [活動102] [活動103]
[SH2] [マイコン]
[電子回路]
[プログラム] [VS] [OpenCV]
[知能ロボ]
[プレゼン] [CAD]
plugin_bottom_w.png
plugin_top_w.png
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
plugin_bottom_w.png
plugin_top_w.png
最新CM
[11/13 SLT-A65]
[12/01 siawase]
[05/01 H238]
[05/01 H238]
[05/01 ねこう]
plugin_bottom_w.png
plugin_top_w.png
バーコード
plugin_bottom_w.png
Copyright ロボットとか by ひなたまる All Rights Reserved.
Template by テンプレート@忍者ブログ
忍者ブログ [PR]