忍者ブログ
グラビアアイドルについて語るブログ。
[21] [20] [19] [18] [17] [16] [15] [14] [13] [12] [11]
×

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

gcc で CQ_V850 アプリ開発をするためにまとめたメモです。インターフェース2007年6月号「TOPPERS OS の移植とライン・トレース・カーの製作事例」のサンプルソースを参考にしています。

今回は uart_echoback のソースを読み、UART の使い方についてまとめました。


■UARTA0 の設定 (init_uart)

○ポートの設定

ユーザーズ・マニュアル「V850ES/JG2 ハードウエア編」の「4.5 兼用機能使用時のポートのレジスタ設定」によると、P30 を TXDA0 として使うためには PMC30 = 1, PFC30 = 0 に、P31 を RXDA0 として使うためには PMC31 = 1, PFC31 = 0 に設定する必要があります。「4.3 ポートの構成」も読んでおくとよいでしょう。

○UARTA0 の設定

動作周波数が20MHzの場合、ユーザーズマニュアル505ページの表「ボー・レート・ジェネレータ設定データ」が、UA0CTL1, UA0CTL2 (UARTA0 制御レジスタ1, 2) の設定値として使えます。

ボー・レート設定後、UA0CTL0 (UARTA0 制御レジスタ0) を設定し、UARTA0 を起動します。

・ビット0 (UA0SL)
送信データのストップ・ビット長指定

・ビット1 (UA0CL)
送受信データ1フレームのデータ・キャラクタ長指定

・ビット2、ビット3 (UA0PS0, UA0PS1)
送受信時のパリティ選択

・ビット4 (UA0DIR)
転送方向選択

・ビット5 (UA0RXE)
受信動作許可

・ビット6 (UA0TXE)
送信動作許可

・ビット7 (UA0PWR)
UARTA0 の動作の制御


■割り込みの許可 (init_intc)

割り込み制御レジスタ UA0RIC, UA0TIC を設定し、UART0 の送受信割り込みを許可します(ビット6で許可/禁止、ビット0〜ビット2で優先度)。割り込み制御レジスタについては、ユーザーズ・マニュアルの19.3.4を参照。


■UARTA0 の送受信 (uart_int_handler)

割り込みが発生するとハンドラ _interrupt にジャンプしますが、その中で uart_int_handler が呼び出されています。

受信は UA0RX (UARTA0 受信データ・レジスタ) から読み込み、エラーの有無は UA0STR (UARTA0 状態レジスタ) のビット0〜ビット2で確認します。

送信は UA0TX (UARTA0 送信データ・レジスタ) に書き込みます。送信完了は UA0STR のビット7で確認します。

また、UART と直接関係はありませんが、割り込み発生時、割り込み要因は ECR から読み出せます。システム・レジスタですので、stsr 命令でストアしなければなりません。


●関連エントリ
CQ_V850 gccメモ(共通編)
CQ_V850 gccメモ(クロック編)
CQ_V850 gccメモ(LED編)
CQ_V850 gccメモ(タイマ割り込み編)
PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
ブログ内検索
カレンダー
10 2024/11 12
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
最新コメント
[07/07 tiffany jewelry uk]
[09/17 車載モニター・阿蘇テック]
[08/30 愛]
[06/12 シモネッタ]
[06/11 arms22]
最新トラックバック
フリーエリア
あわせて読みたい
    Firefox 2 無料ダウンロード
    バーコード
    プロフィール
    名前:
    シモネッタ
    性別:
    非公開
    カウンター
    アクセス解析