2013年9月の記事一覧
岐阜大学 OYJHGTR3 演習 わからなかったこと
演習後にわかったこととわからなかったこと3つを報告いただきました。
参照:岐阜大学 OYJHGTR3 講義の前に
岐阜大学 OYJHGTR3 演習 わかったこと
岐阜大学 OYJHGTR3 演習 わからなかったこと
<>書きで補足をします。
参照:岐阜大学 OYJHGTR3 講義の前に
岐阜大学 OYJHGTR3 演習 わかったこと
岐阜大学 OYJHGTR3 演習 わからなかったこと
<>書きで補足をします。
Did not understand:
- how to change time for led's time light<There are two method to change timing, as software method and hardware setting method. See 岐阜大学 OYJHGTR3 講義の前に>
●わからなかったこと(3つ)
・CKEG,TPSCの値を変更したときの内部の電気的変化<レジスタに1を設定したときに電気的にHになるかLになるかはハードウェアマニュアル参照。値が1の時に、どういう振る舞いをするか,CKEGはハードウェアマニュアル11-8 。00:立ち上がりエッジでカウント。01:立ち下がりエッジでカウント。1X:両エッジでカウント。TPSCは,同じくハードウェアマニュアル参照。>
・int 型などが main 関数内で定義できない理由<int型の変数は定義できます。何を書いたかソースを送ってください。main函数のファイルだけで結構です。>
・time.h を利用しようとしたができなかった<どうやって利用しようとしかたかソースを送ってください。できればプロジェクトのフォルダごと>
わからなかったこと
1、演習3-2の複数ビットアクセス時のマスク処理
PE.DRL.BYTE.H = (0xFF & 0x78)| (PE.DRL.BYTE.H & 0x87);
この文がどのようなことをやっているか分からなかったです。
演算子「|」がどういう意味を持つのか忘れてしまいました。
ネットで調べれたら良かったのですがデスクトップでネットがつながらなかったです。
2、演習3−2と同様に演習4−1でAD1割り込みハンドラがどのような処理をやっているのかいまいち分かりませんでした。
input = AD1.ADDR4.WORD >> 6; //変換結果の取得
PE.DRL.BYTE.H = (~(input >> 3)) | (PE.DRL.BYTE.H & 0x87); //ビット表示
これらの文の「>>」が分かりませんでした。
3、ADコンバータの初期化関数で何をやっているのかはわかるのですが、
初期値としている数字が何を意味しているのか分かりませんでした。
3_Timer_Ogawa.pdfの10ページのカウンタクロックのチャンネルを説明した図のような
参考図などが欲しかったです。
わからなかったこと
1.課題4で使用しているA/D変換部分の記述についてが理解できない。<2日目に説明予定>
2.main関数から始まらなくてもいいというのがよく分からなかった。<ISO/IEC 9899 Plogramming Language C, JIS X 3010 http://kikakurui.com/x3/X3010-2003-01.htmlのフリースタンディング環境の項を読んでみてください。>
3.割り込みハンドラでのsleep();の使い方がよく分からなかった。<設定していない割込みが起きた時に、どういう処理をするといいかはシステム(自動車なのか冷蔵庫なのか)で違うため記載していない。>
わからなかったこと
1.カウントクロックのチャンネルの選択の方法は理解できない。<どれだけの入出力、どれだけのタイマを使うかで、どのチャンネルを使うかによって千差万別かも。>
どんな時にチャンネル0〜4はどちらが選ぶことがわからなかった。
2.LED点減時間は1秒に変更する方ができない。
0.5秒と2秒に変更できるけれども、1秒はできなっか。<ソフトウェア的には楽。ハードウェア設定で実施するには複数箇所の設定が必要。>
分からなかった事
・タイマの設定が妙に煩雑だと感じ、なぜこんな手間が掛かる方法を取らざるをえないのか納得できなかった。<小さいハードウェアにいろいろな機能を入れようとしたため。OSなどでは,C言語から簡単に利用できるようにライブラリにしています。http://www.toppers.jp/asp-d-download.htmlのSH2をダウンロードしてみてください。>
・このデバイスでの割り込み処理において、どの種類の割り込みの優先順位を1番にすると、どのような特性の挙動になるのか、具体的なイメージがつかめなかった。
・デバイスに書き込みを行う際、たまにタイムアウトや書き込みエラーが生じる理由が分からなかった。
わからなかったこと
・ledの初期状態が点灯している状態になっていること
・ledを反転するときのコードの^の意味<反転>
・マクス処理の例のプログラムにある0xFFをする意味
・わからなかったこと
1)ピンに0を出力することでLEDが点灯したが、なぜ1で点灯でないのか?(直感と異なる)
2) 2番目の課題では、仕様書を見て各変数の役割を理解しようとしたが、探していた情報が見けられなかった。
2) 2番目の課題では、仕様書を見て各変数の役割を理解しようとしたが、探していた情報が見けられなかった。
3)最後のプログラムでは可変抵抗でLEDの点灯をコントロールしていたが、ソースコードを見てもあまり理解できなかった。
2.今日の授業で分からなかったこと
・ファイルを基板にダウンロードする時,「デバイスの切断」を一度実行しないと,通信エラーになる原因<非同期通信であるため,バッファなどにデータが残っていたりして,通信を開始するための条件が揃わないため>
・main関数でint型等,変数が宣言できない原因<ソースを送ってください。main函数のファイルだけで結構です。>
・time.hがインクルードできない原因<どうやって利用しようとしかたかソースを送ってください。できればプロジェクトのフォルダごと>
わからなかったこと
・一つ一つの関数の意味<ソースコードを読んで、変数名の多くは,ハードウェアマニュアル、ソフトウェアマニュアルで対応する項目を検索してみてください。>
・他のファイルで何を行っているのか
・MTU4.TCR.BIT.TPSC =5とすることで点灯間隔を変えられることが少しよくわからなかったです。<4だと/256, 5だと/1024とあるので,4倍の長さになるため>
・C言語に挑戦
わからなかったこと
・マスク処理について今まではビットだったのにバイトでの処理の仕方だったところ
・割り込みハンドラの改造の仕方<必要な函数名を,該当する割込み名のところに書く。その前に函数の宣言文が必要。>
・16進数での表記法に戸惑いました
・LEDの点滅の時間(for,whileを扱う)がどれくらいが一秒だったかわからなかったです
わからなかったこと
1.タイマ部分の詳細設定方法
2.最初にLEDが全部点灯する理由
3.ex3の変数kの初期化について
わからなかったこと
タイマ割り込みの際に用いた関数の名前の規則性
プログラムの際に数値を二進数で記述をすることができるのかどうか<2進数で記述できます。C言語規格参照。>
カウントクロックの設定の際にあるTCLKAなどといった項目<CPUとコンパイラ固有の規定なので,メーカのハードウェアマニュアルおよびソフトウェアマニュアル参照。>
わからなかったこと
マスク処理時の0xFFの必要性
なぜcomポート番号が大きいと通信できないのか<ソフトウェアの作り。20年前はcomが2または3まで利用。USBを使うようになってcomポートをたくさん使えるようになった。同時に2桁も使わないだろうという想定でソフトを作っている人がいる。>
ledの初期状態が0になってしまうこと
分からなかったこと
・書き込みがうまくできないのは、ポートの番号が2ケタになっていたことが原因だったのか<書き込みソフトがポートの番号2桁に対応していなかった。>
・マスク処理のやり方
・カウント速度の変更での点滅時間変更をきちんと理解できなかった。
分からなこと
・port番号が2ケタになると認識できなくなることがわからなかった<書き込みソフトを作った人が対応していなかっただけ。>
・マスク処理
・16進数が忘れてしまった
わからなかったこと
1.割り込み初期化の細かなパラメータ
2.複数ビットアクセス時のビットマスク
3.割り込みハンドラのstatic int変数 k の初期化がどうなっているのか
わからなかったこと
・ピン設定の詳細(各単語が何を示しているか)
・変数の意味
・コンペアマッチの意味と設定方法
わからなかったこと
・タイマ割り込みでが変数の値の意味がわからないとこがある
・16進数での考え方
・マスク処理
わからなかったこと:
1、例題3.2まだわからなかった。
2、DRLやBITなど、いろいろなキーワードがわからなかった。<ハードウェアマニュアルに記載しているレジスタ名、値名などと同じ変数名になるようにiodefine.hで定義している。>
3、複数ビットアクセスのことがちょっと難しかった。
分からなかったこと
・複数ビットアクセスのときにどこがどこに対応するのか決めているところがどこか分からなかった。
・コンペアマッチについてよく分からなかった。
わからなかったこと
・MTU4.TGRA = 46874; //93.75khz / 2Hz(0.5sec) - 1 = 46874 の「-1」の意味が理解できなかった<3. タイマの資料20 頁に,「マッチの次のカウントでクリアされるため」とあるようにハードウェアの仕様として,クリアに1クロックかかるため。>
<TGRAはtimer general reginster Aの略。>
<TGRAはtimer general reginster Aの略。>
・MTU4.TCR.BIT.TPSC = 4;を「5」にすればLED点滅間隔が大きくなることはわかったが、どうしてかが理解しきれなかった<ハードウェアマニュアル11-10 表11.8にあるように/256が/1024となるので4倍の長さになる。>
・プロジェクトを開いたとき主に修正した.cファイル意外にもファイルが複数あったが、それぞれがどういう役割をもつソースファイルなのかがわからなかった
わからなかったこと
・クロックのエッジの設定
・例題4のプログラムの流れ<2日目>
・MTUの機能(インプットキャプチャ機能等)
[わからなかったこと]
0bを用いて値を設定しようとしたが,エラーを吐かれた.どうして0bには対応していないのか.<ソースコードとエラーメッセージをお送りください。>
intprg.cの内容(どの行が何を指示しているのか).<ソフトウェアマニュアルの割込みベクターテーブルの欄参照>
出力先の値を1にすると電流を流すイメージがあるが,今回は出力先の値を1にするとLEDが消灯してしまうこと.
・わからなかったこと
マスク処理
MTUのレジスタがいっぱいあるがその詳細<ハードウェアマニュアルを見て、実際にプログラムを書き直して振る舞いを確認しないと,型番によっては実装していないことがあるかもしれない。>
MTUの初期関数の内容はなんとなく分かったけれど、記述法の決まりがよく分からなかったです。
わからなかったこと:
・マスク処理
・割り込みハンドラの改造
・バイト単位でのアクセスとビット単位でのアクセスでの違いがなぜ出るのか。
わからなかったこと
・volatile
・電子回路
わからなかったこと
・タイマの詳しい仕組み
・LED以外の制御
・SH7144の実際の使われ方
わからなかったこと
・ピンの扱いについて
・組み込みソフトを応用してどれだけのことまでできるのか
・プログラムの書き方によっての各機能の長所、短所
わからなかったこと
それぞれの変数の役割 ex.MTU4.TCR.BIT.CCLRなど
普段プログラムで使用するもので使えるもの(ヘッダ)と使えないもの(ヘッダ) (
sleepが使用できなかった)
使用していない(書き換えていない)プログラムの役割
わからなかったこと
マスク処理
MTUの初期化関数の中身
volatile修飾司<memory mapped I/Oのように,プログラム以外の要因で値が変わる変数について,コンパイラの最適化をしないように>
分からなかったこと
・タイマー周りの設定をする変数の意味(仕様書を見てみます……)
・複数ビットにアクセスする際にマスクを使うことの意味,仕組みは分かるが使用場面が想像できなかった
・LEDが0で点灯する理由,回路の問題?
分からなかったこと.
・タイマの演習において,最初はLEDを消灯するように設定したが,なぜLEDがす
べて点灯したのか.
・タイマの資料の最後のページにおいて,以下のように記述があるが,(0xFF &
0x78) とする必要性がわからない.
PE.DRL.BYTE.H = (0xFF & 0x78)| (PE.DRL.BYTE.H & 0x87);
0x78| (PE.DRL.BYTE.H & 0x87);で十分であるし,特に意図があるように感じら
れない.
・結局,intprg.c に書いてある記述は何なのか,わからない.<割込みベクタテーブルの設定です。ハードウェアマニュアルにある割込みが起きたときに,どの函数に飛ぶかを記述するものです。>
■ 分からなかったこと
main文以外の内容
4_2の処理内容
マスク処理
わからなかったこと
・main文の中で変数の宣言ができなかったこと<ソースコードとエラーをお送りください。>
・クロックの仕組み
・レジスタ
わからなかったこと
・LEDを順番点灯させる課題で、最初に全てのLEDがつくこと。
・上記の問題の解決に、マスク処理が必要か
・ビット操作について
分からなっかたこと
分からなっかたこと
1.共用体によるアクセスは複数の型によるアクセスが可能。でもどうやって複数の型に変換できる、私はよくわからない。
2.if関数の中に"end"がない、これでどうループをする。<C言語のif文は函数ではない。何もないとその行末でif文が終わる。>
3.warningがある場合、プログラムの結果に対して、なぜ影響がない。
<この稿は書きかけです。順次追記しています。>
twitter:@kaizen_nagoya改善日誌(researcmap)
改善日誌(ameba)
改善の本棚(読書メーター)
改善の本棚(booklog)
改善の本棚(amazon.co.jp / amazon.com)
0