オシロを買った

「わざわざ家でもつかうか?」とおもってなかなか購入に至ってなかったけど、とうとうオシロを買った。
50MHzまでのデジタル品。とりあえず当面困らないでしょう。

実際の製品

梱包は割りとしっかりしているお店だった。


買ったのはこちら
http://www.aliexpress.com/snapshot/105160720.html
RIGOL DS1052E、メイドインチャイナ。
日本円で27000円。
注文から到着までは10日、EMSより。

日本の実験、計測機器の危機がまたここにひとつ。。。

ひとつだけいけてないのは、電源ケーブルが中国規格のこと。
PCのケーブルが調達できればOK。

変数の末尾にuが。

#define DEF_QT_DI 4u
4uのuって何かと思って調べると、
void write_info_to_eeprom( uint16_t lib_version )
って使っているので、どうも16bit=2byteデータ?
4u = 2x4 = 8byte?

どこで定義しているかというと、
http://www.nongnu.org/avr-libc/user-manual/group__avr__stdint.html
typedef unsigned int uint16_t
16-bit unsigned type.
っぽい。(要は標準。)

じゃあなんでuとかつけるのかわかんないのでテスト。

int main(void)
{
uint16_t a, b, c = 0;
while(1)
{
//TODO:: Please write your application code
a = 0;
b = 1u;
c = 100u;
a = (1<

未定義変数の処理

普段書かないコードを書いていたらエラーはいて、よく見たら当たり前。

    • -

int na, nb;

printf("int A");
scanf ("%d", na);

    • -

naを初期化していないので動くわけ無い。見落としてた。
このときVC++だと
Debug Error!

The variable 'x' is being used without being initialized.
と吐く。もっとも初期化の問題ではないから、初期化したところで、例外で吹っ飛ぶ。

Visual C++ 2010 Expressのヘッダインクルード

Visual C++ 2010 Express

無償C開発開発環境。
includeファイルの設定で注意。

#include

  • > これがだめ

正しくは
#include "stdafx.h"

ちなみに
#include "stdio.h"
エラー内容はscanf未定義のエラー。
一応動くけど。

c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(304) : 'scanf' の宣言を確認してください。

// #include だと以下のエラー
\my documents\visual studio 2010\projects\0202\0202_1\0202_1.cpp(8): fatal error C1083: include ファイルを開けません。'stdafx.h': No such file or directory

//#include の場合
c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(304) : 'scanf' の宣言を確認してください。
1>c:\documents and settings\xxxx\my documents\visual studio 2010\projects\0202\0202_1\0202_1.cpp(23): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

どうもプリコンパイル済みヘッダの追加が原因。
stdafx.hが生成されるのは、自分のプログラムと同じ領域。
ちなみにこのファイルの中では以下の定義。

    • stdafx.h --

#pragma once

#include "targetver.h"

#include
#include

                          • -

というわけで
#include "stdafx.h"
で良くって、このなかで
#include
しているというわけね。

自分で
#include
でもよいわけね。