忍者ブログ
グラビアアイドルについて語るブログ。
[1] [2] [3] [4] [5] [6] [7] [8]
×

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

アクセス解析による、先月の検索フレーズのランキングです。

1 [Google] V850 (13.6%)
2 [Google] v850 (8.8%)
3 [Google] ぷちとまと (6.6%)
4 [Google] V850 インターフェース (4.4%)
5 [Google] gcc v850 (3.6%)
6 [Google] sp850es (2.2%)
7 [Google] CQ_V850 (1.8%)
8 [Yahoo!JAPAN] V850 (1.4%)
9 [Goo] ぷちとまと (1.4%)
10 [Google] compat-gcc-34 (1.1%)

最近更新していませんが、V850関係が多いですね。
これからも少しずつ書いていきたいと思います。

あと「ぷちとまと」で来られる方が意外に多くて超ウケますね。
PR
Firefox の about:buildconfig の実体は、toolkit.jar 中の buildconfig.html です。

つまり、
chrome://global/content/buildconfig.html
でも参照可能です。
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メモ(タイマ割り込み編)
gcc で CQ_V850 アプリ開発をするためにまとめたメモです。インターフェース2007年6月号「TOPPERS OS の移植とライン・トレース・カーの製作事例」のサンプルソースを参考にしています。

今回は16ビット・インターバル・タイマM(TMM)の使い方について、timer_int のソースおよびユーザーズ・マニュアル「V850ES/JG2 ハードウエア編」の「第9章 16ビット・インターバル・タイマM(TMM)」を読んでまとめました。


■TMM0 の設定 (init_timer)

以下の手順で行います。

・TM0CTL0 (TMM0制御レジスタ0) のビット7を0(TMM0 動作禁止)に設定。
・TM0CTL0 のビット0〜ビット2を設定(カウント・クロックの選択)。
・TM0CMP0 (TMM0コンペア・レジスタ0) に値を設定。
・TM0CTL0 のビット8を1(TMM0 動作許可)に設定。

16ビット・カウンタのカウント値と TM0CMP0 レジスタの値が一致すると、16ビット・カウンタをクリアし、TMM0 コンペア一致割り込み要求信号 (INTTM0EQ0) が発生します。

init_timer では割り込み発生の周期を1000msとしていますが、次の式により、適切な TM0CMP0 レジスタの設定値が導き出されます。

インターバル間隔 = (TM0CMP0 レジスタ設定値 + 1) × カウント・クロック周期

timer_int のサンプルでは、割り込みが発生するとハンドラ _interrupt にジャンプしています。


■割り込みの許可 (init_intc)

次の手順で、TMM0 からの割り込みを許可します。割り込み制御レジスタについては、ユーザーズ・マニュアルの19.3.4を参照。

・割り込み制御レジスタ TM0EQIC0 に値を設定します(ビット6で許可/禁止、ビット0〜ビット2で優先度)。

さらに、ei 命令でマスカブル割り込みを許可します。


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

今回は LED の使い方についてまとめました。led_c.c のソースにある通りです。


■LED の使い方

CQ_V850 では LED はポート PCT6 に接続されています。

PCT6 は兼用端子であるため、入出力ポートとして書き込みを行うには、次の手順が必要です。

・ポート CT モード・コントロール・レジスタ(PMCCT)のビット6を0(入出力ポート)に設定。
・ポート CT モード・レジスタ(PMCT)のビット6を0(出力モード)に設定。

LED の点灯/消灯は、ポート CT レジスタ(PCT)のビット6を設定することで切り替えます(0:点灯/1:消灯)。


●関連エントリ
CQ_V850 gccメモ(共通編)
CQ_V850 gccメモ(クロック編)


忍者ブログ [PR]
ブログ内検索
カレンダー
03 2024/04 05
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 無料ダウンロード
    バーコード
    プロフィール
    名前:
    シモネッタ
    性別:
    非公開
    カウンター
    アクセス解析