Renesas Community
Search Community
User
Join or sign in
Site
Search Community
User
Renesas Engineering Community
FAQ
HELP
More
Cancel
Forums & Groups
English Community
中文社区(Chinese Community)
More
Cancel
かふぇルネ
forums-groups
Microcontrollers and Microprocessors
Other MCU/MPU Products
R8C/Tiny
More
Cancel
R8C/Tiny
R8C/Tiny Forum
R8C/M12Aのシリアルとポート出力のタイミング
Home
Forum
Tags
More
Cancel
New
Replies
8 replies
Subscribers
442 subscribers
Views
4750 views
Users
0 members are here
演算
TIビット
タイミング
ポート出力
外部クロック
Options
Share
More
Cancel
Related
R8C/M12Aのシリアルとポート出力のタイミング
THM
over 10 years ago
7バイトを外部クロック同期シリアルで出力し、最終ビットの送出終了時にポートから信号(ゲート)を制御したいのです。外部クロック1個以内の時間誤差は許容。
1バイトづつ7回、TIビットを見ながらU0TBに送信データを書き、7バイト目を書いた後に、NOPや空ループで調整して最終ビットのタイミングでポートから出力します。
一旦うまく行ったのですが、5バイト目を書く前に演算処理を入れたら、ポート出力のタイミングが狂ってしまいました。(演算時間は同期クロック2個分程度)
つまり、TIビットで示す、送信バッファ空になるタイミング(シリアル送信開始を基準)が、それ以前の演算などの内部処理の有無から影響を受けるのでしょうか?
シリアル回路は外部クロック動作だから、こんな事は無いと思うのですが。
ご意見や対策、よろしくお願いします。
Parents
THM
over 10 years ago
すと様
コメント有難うございます。
が、初めはお示しのようにループ構造でしたが動作確認してるうちに
while(ti_u0c1 != 1); u0tbl=data[n]; (nは0~6)
の7回繰り返しになりました。5回目の後に演算しますが。
whileでバッファ空待ちするか、演算してから空待ちするかの違いでバッファ空になるタイミングが変わる?しかも次の次の回での送信バッファ空タイミングが変わる?
txeptは動作例(16.3図)を見ると最終bit送出とは意味が違うようです。これも含めて、回路ハードのイメージでUART0同期モードの動作が判る資料が欲しいものです。
Cancel
Up
0
Down
Reply
Cancel
Reply
THM
over 10 years ago
すと様
コメント有難うございます。
が、初めはお示しのようにループ構造でしたが動作確認してるうちに
while(ti_u0c1 != 1); u0tbl=data[n]; (nは0~6)
の7回繰り返しになりました。5回目の後に演算しますが。
whileでバッファ空待ちするか、演算してから空待ちするかの違いでバッファ空になるタイミングが変わる?しかも次の次の回での送信バッファ空タイミングが変わる?
txeptは動作例(16.3図)を見ると最終bit送出とは意味が違うようです。これも含めて、回路ハードのイメージでUART0同期モードの動作が判る資料が欲しいものです。
Cancel
Up
0
Down
Reply
Cancel
Children
No Data