Translate

2009年10月12日月曜日

無限ループでLEDの点滅(7) 変数の宣言と乱数rand( )関数

[実験 MikroC Pro PIC16F84A_LED_0009]

0.5秒間隔で乱数rand( )関数 を使ってLEDを点滅させなさい。















Int a;


[書式] 型名(int) + 変数名(a);


変数の宣言(declaration)を事前に行います。
Int は、整数のintegerから由来しており、「int型の変数(a)ですよ」と宣言しています。

変数名は、英文字で始まる31文字以内の文字列で作ります。
1文字目は必ず英文字で始めます。 例えば7segのように数字から始まる名前は、errorになりコンパイル出来ません。
また、大文字(A)と小文字(a)は別の名前として区別されます。

変数の基本型には、文字型(char)、整数型(short int, int, long int)、実数型(float, double, long double)、データ型を持たない型(void)などがあり、さらに符号を付ける(signed)、付けない(unsigned)を考えて宣言しなければなりません。

PICの場合は、プログラムメモリが少ないので必要以上に
大きな型宣言をしないように注意をします。





ランダム(random)なLEDの点滅をするのにrand( )関数を使ってみました。

rand()
pseudo-random numbers between 0 and 32767.
0と32767の間の擬似乱数を作ってくれる関数です。

a = a % 256; //rand() % 256
は、0から32767の乱数を256で割ったあまりの乱数が0から255になるようにする式です。

ふつうC言語でrand()だけでプログラミングすると毎回同じ結果になるはずです。
何故か、MikroC Proでは、いつも違う結果になります。












mikroC PRO for PIC

0 件のコメント:

コメントを投稿