マイコン備忘録

こんにちは!けんとです。
文系出身、プログラミングの超初心者の奮闘日記です。

出社の際はいつも白Tを着ています。
なので通勤は半そで1枚、必要なときだけカバンからジャケットを取り出せばいい、というスタイルなので、とても快適です。
服装に寛容なのはIT業種の魅力のひとつですね♪
それでは今日もやっていきましょう


/*文字*/

C言語は文字の扱いが苦手な言語
文字は配列との関係性が深い
文字は数値として管理されている
文字を扱うときはchar型
char型に変数を代入するときは、シングルクォーテーションでくくる
'A' はできるけど、'AB' はできない
連続して単語を使いたいときに配列を使う
そして、その文字が並んでいる様子から「文字列」と呼ぶことになったらしい


/*アスキーコード*/
数値が割り振られている文字がある
アスキーコードという
ちなみに、アスキーコード表の0x00 - 0x7Fはchar型の正値の範囲0 -127(2の4乗分) と対応している

画像1

画像2


/*文字列*/

文字列とは、連続している文字の配列
文字列をprintfするときに使う %s
これは string(文字列)のこと

画像3

画像4


実際は下のような書き方をよくしていた

画像5


/*ヌル文字*/

上記プログラム上の '\0'
文字列を使うとき、必ず最後にいれて区切りを示してあげる

画像6


/*マルチバイト文字*/

アルファベットと違い、日本語(その他にもある)はメモリを複数使っている
こうした文字をマルチバイト文字という

画像7

引用:https://monozukuri-c.com/langc-string-beginner/


/*ウォッチドッグタイマ*/

クロック理解のための復習
時間を利用したシステム異常を検知するための仕組み
タイマ機能に対してクロックが入力がされると、タイマはカウントを行う
ウォッチドッグタイマはオーバーフローするとリセットする

つまり、クロックとは、タイマを起動するためのトリガーのようなイメージ

画像8

引用:https://monozukuri-c.com/mbase-watchdog/


/*クロック*/

クロックは、心拍数のイメージ
波形の信号で、推奨発振器というハードウェアからマイコンに供給されている

マイコンに供給されるクロックのことをシステムクロックと呼び、このクロックの鼓動が速いほど性能が高く、より多くのプログラムを動かすことができる。
クロックの単位はHz

図のX1が推奨発振器を示している
OSCはオシレーターの略で、発振器に接続するためのピンのこと

画像9

引用:https://monozukuri-c.com/mbase-timer/


/*周波数*/

周波数とは、1秒間に繰り出される電気振動の回数のこと
ドイツの物理学者ハインリヒ・ルドルフ・ヘルツの名前をとっている

引用:https://www.weblio.jp/content/周波数


/*シフト*/

ビットの値を左右に移動したい場合に使うもの、シフト演算という

実質的に、
左シフト→変数の値を2倍
右シフト→変数の値を1/2倍
になっている

画像10

また次のような算術シフト、という種類もある
符号ありの変数の場合、符号を維持する(つまり、ビット7の値は変わらない)仕様になっている

画像11

引用:https://monozukuri-c.com/langc-bitoperation/

この記事が気に入ったらサポートをしてみませんか?