top of page
検索

2025年08月10日

  • kojima295
  • 2025年8月10日
  • 読了時間: 6分

更新日:2025年8月11日

おはようございます。

よく眠ることができました。


では、さっそく技術講座へ行ってみましょう


・・・



ココからでしたね!

これは、LEDを点滅させるためのサンプルコードと呼ばれているものです。


では、順番にプログラムがどのような構成となっているのか見ていきましょう。



コレ・・・何を意味しているのか?

一言で言えば「おまじない」と言えるのですが、それではあまり意味がありません。


それなりにご説明いたします。

まず「#include」とは、これは難しい言葉で言えば「今からこのファイルを含めるよ!」と言う意味です。

このファイルとは「driverlib.h」と言うファイルです。


ここからが難しい!!


ファイルとは・・・まあ、全体についてお話を致します。


左側に、こんなものがあります。

なんか「C」とか書かれてあり「adc.c」とか、「adc.h」とか書かれてあるモノです。

この中に「driverlib.h」と言うモノがあります。


いきなり、専門的な部分に入るよ!!

ここで言うファイルとは「プログラムファイル」を意味します。


フォルダの中にファイルが入っているのですが、、、

皆さん、フォルダは分かりますか?



Windowsで言えば、これがフォルダを意味しています。

この中にファイルが入ってるわけです。



これを例として解説すると・・・

「driverlib」と言うフォルダの中に「MSP430FR2xx・・・」と言うフォルダがあり、、、、


その中に「inc」と「rom_header」と言うフォルダがあり、、、

この「rom_header」の中に「driverlib.h」と言うファイルが入っています。


ちなみに、これを覚える必要は全くありません。

問題は「driverlib.h」とは何か?と言う点です。


じゃあ、この「driverlib.h」と書かれてある部分をダブルクリックしてみましょう。


おいおい。。。また「#include」が出てまいりました!!

じゃあ、この中の「#include gpio.h」を選んでみましょう。


「Ctrl」キーを押しながら、「gpio.h」の部分をダブルクリック!!



何か、よくわからない文字がいっぱい出てまいりました・・・

今、これを理解する必要は全くありません。


ただし、今ここで覚える必要があることは、前にお話した「今からこのファイルを含めるよ!」と言うことなんです。


実は、プログラムと言うモノは、、、物凄く巨大なモノなんです。

ただ、簡単に書かれてあるプログラムもありますよね・・・


これは「#include」を使用しているからなんです。

これは「今見ているプログラムに対して、#includeファイルの中に書かれてあるプログラムを加えている」のです。


いいですか。。。


この中には、、、、


そして、例えば「gpio.h」の中身は・・・


どんどん、プログラムが加えられているのです。


だから、簡単にプログラムを記述できるのです。

必要なプログラムの大部分は、この#includeファイルの中に書かれてあるのです。


この#includeファイルの殆どは、メーカーさんが提供してくださいます。

ここで言えば「TI社」さんです。


で、、、


ココに戻りますよ・・・


チョット、1時間くらい経過したので休憩致しましょう・・・

日本時間の午前2時から再開致します。

宜しくお願い致します。


・・・


では、そろそろ続きを・・・

実は、このLEDをチカチカさせるプログラム・・・




#include <driverlib.h>

int main(void) {

    volatile uint32_t i;

    // Stop watchdog timer
    WDT_A_hold(WDT_A_BASE);

    // Set P1.0 to output direction
    GPIO_setAsOutputPin(
        GPIO_PORT_P1,
        GPIO_PIN0
        );

    // Disable the GPIO power-on default high-impedance mode
    // to activate previously configured port settings
    PMM_unlockLPM5();

    while(1)
    {
        // Toggle P1.0 output
        GPIO_toggleOutputOnPin(
            GPIO_PORT_P1,
            GPIO_PIN0
            );

        // Delay
        for(i=10000; i>0; i--);
    }
}

上記で構成されています。

では、順を追って続きの解説に行きます。


あ、ちなみに、、、この画面に戻るためには


OPEN EDITORS の main.c をダブルクリックしてくださいね。


・・・


#include <driverlib.h>

int main(void) {

    volatile uint32_t i;

    // Stop watchdog timer
    WDT_A_hold(WDT_A_BASE);

    // Set P1.0 to output direction
    GPIO_setAsOutputPin(
        GPIO_PORT_P1,
        GPIO_PIN0
        );

    // Disable the GPIO power-on default high-impedance mode
    // to activate previously configured port settings
    PMM_unlockLPM5();

    while(1)
    {
        // Toggle P1.0 output
        GPIO_toggleOutputOnPin(
            GPIO_PORT_P1,
            GPIO_PIN0
            );

        // Delay
        for(i=10000; i>0; i--);
    }
}

最初にお話をした通り、#include により巨大なプログラムが本プログラムに加えられています。


しかし、この加えられた部分のプログラムについては、今の段階で意識する必要はありません。

この部分はメーカーさんが提供してくださいます。


一言で言えば、最初にこの

#include <driverlib.h>

を書いておけば良いのです。

だから「おまじない」と言われています。


・・・


次に、、、

int main(void) {

これは何にか?


これは、C言語と呼ばれているプログラム言語で記述されています。

C言語の規則として「int main」と書かれてある部分からプログラムがスタートすることになっています。


int main(void) {

の「int」とは何か?

ここから先は、ChatGPTさんと共に解説を行います。


ChatGPTさんの解説で分かりますか?


分かったら、私いらなくなっちゃいます・・・

後で、この辺りについて、もう少し詳しく解説致します。


で、次・・・

    volatile uint32_t i;

これは何?

これまた、ChatGPTさんに・・・



ヤバい・・・私いらない?


WDT_A_hold(WDT_A_BASE);

これは何だと・・・


これに関しては、ChatGPTさんでも答えられないだろうと考えます。

一応、聞いてみます。


ムムム・・・答えてしまった!!


    GPIO_setAsOutputPin(
        GPIO_PORT_P1,
        GPIO_PIN0
        );

じゃあ、これは?



う~~ん。。。。


PMM_unlockLPM5();

これは難しいぞ!!



やるな!GPT-5・・・


        GPIO_toggleOutputOnPin(
            GPIO_PORT_P1,
            GPIO_PIN0
            );


プログラムの大まかな解説終了!!

では実際に、自分の思うとおりにマイコンを動かしてみます。


まず、今は点滅しているので、点灯し続けるよう改良してみます。



本当に動くのか?


実際に「コピペ」してみました。

動くか!!


開発キットの左右にボタンがあります。

上から見て左側が「P2.3」となります。



Buildしますね。



Debug



Start Debugging



Continue






キチンと動きました!!


ヤバいな!!

この調子だと、ChatGPTさんが時計まで作ってしまうぞ!!


・・・


ここで、一時間以上経過したので休憩に入ります。

宜しくお願い致します。


頑張ろ!!


・・・


「7セグメントLEDディスプレイ」



何となく、どのようにすると数字を表示できるか分かってきましたか?



P1.0~P1.7のピンがどこにあるか分かりますか?


では「7」を表示できたとして、「0」から「9」までの数字を自由に表示できるようにするにはどうすれば良いのでしょうか?



ChatGPTさんとの会話も本格化してまいりました。

後で、実際に動かしてみましょう。


今一度、休憩致します!!


・・・

・・・



中島様、量子は「物理学的には三角関係」なのだと思います。フィフティー・フィフティー なんだと思います。


・・・

・・・


チョット、朝ごはんを食べます。

本日の朝ごはんは「納豆ごはんとお味噌汁」です!!


・・・



講義の途中ですが、例のヤツを行きます。

GPT-5 頼むぞ!






・・・


チョット、お話がズレますが、、、

お金儲けさせて下さる大学ってないのでしょうか?


お金がすべてではありません。

でも、最小限のお金は必要じゃないですか・・・

で、大学って困り事が集まってくるとお聞きしています。


困っていることを解決すれば、お金儲かるじゃないですか・・・

で、いつも思うのですが・・・


何処か良い大学ないかなって・・・

一緒にお金儲けさせてくれる大学ってないかなと・・・


いや、、、何処かにあるはずなんです・・・

色々調べているのですが、、、


お金持ちで有名な、日本電産の永守重信氏が理事長である「京都先端科学大学」が良さそうな感じがするのですが、どうかな・・・


・・・


こんばんは。


申し訳ございません。

通信が一時的に途絶致しました。

何故か、サーバーが非常に重いのです。


時間を置いて様子を見ているのですが、記述が難しい状態です。

本日の講義は一旦完了とさせて下さい。

理由は分かりませんが、とても記述できる状態にありません。


明日の講義は実施する予定です。

少し様子を見てみます。

宜しくお願い致します。


一先ず、GPT-5 と「統一原理プロジェクト」を先に進めてみます。

































































































































 
 
 

最新記事

すべて表示
2026年02月25日

おはようございます。 ・・・ ・・・ 元気してますか? 人生いろいろありますから、お互い大変ですが何とかやってみましょう。

 
 
 

コメント


© 2024 by PHOTON-INSPEX

bottom of page