タグ付けされた質問 「c」

2
メモリマップドI / Oアドレス指定はどのように機能しますか?
メモリマップドI / Oアドレス指定はどのように機能しますか? I2Sが提供するサンプルを理解しようとしています。誰もが実行していますか?。 クロックの構成: #define BCM2708_PERI_BASE 0x20000000 #define CLOCK_BASE (BCM2708_PERI_BASE + 0x101000) /* Clocks */ 最初に次のようにコードをマッピングします... clk_map = (unsigned char *)mmap( (caddr_t)clk_mem, MAP_BLOCK_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, mem_fd, CLOCK_BASE ); それから何かをする... // Always use volatile pointer! clk = (volatile unsigned *)clk_map; そして、それが参照されるとき、0x26と0x27のこれらの奇妙な追加があります、それはどうですか? printf("Disabling I2S clock\n"); *(clk+0x26) = 0x5A000000; *(clk+0x27) = 0x5A000000; …
29 memory  c 

1
Raspberry Pi用にコンパイルしていることを検出するにはどうすればよいですか?
Raspberry Piには、C/C++いくつかのハードウェア機能(例:への呼び出し)にアクセスするために、少し特別なコード(私が話している)が必要ですbcm_host_init()。これを自動的に検出するための信頼できるエレガントな方法を探しています。私が悪用できる#definesようなコンパイラはないと思う_WIN32ので、CMake(シェルスクリプトを実行できる)からそれを検出するだけで十分です。また、すべてではないにしても、ほとんどのディストリビューションでこのメソッドが機能することを望んでいます。 私が考えることができる1つの方法は、たとえば/opt/vc/include/bcm_host.hファイル(これは難しくありません)を探し、またアーキテクチャがARMであることを確認できることです(#defineたとえば__arm__、そのためのマクロがあるのでコンパイル時に簡単です__ARMEL__)。この追加のアーチチェックは、別のマシンでクロスコンパイル環境を使用しているが、現在クロスコンパイルしていない場合の誤検知を防ぐためのものです。これとは異なる、より良い方法はありますか?

4
Raspberry Piのgccに適しているCPUフラグはどれですか?
gccは-mcpu =(または-march =)フラグを使用して、特定のCPUタイプに最適化されたコードを生成します。多数のアームバリアントがあり、gccアームターゲットは多数のFPUタイプも提供します。 どの-mcpu = /-march =フラグと-mfpu =フラグは、Raspberry PiでCコードをコンパイルするときに使用する適切/ネイティブなフラグですか?

5
CでRaspberry PiのOSを書く
Baking Piチュートリアルはすでに見つけましたが、アセンブリ言語のみを使用しています。最初のレッスンに従いましたが、代わりにCを使用する方法をすでに疑問に思っています。つまり、彼らが高レベルの言語を発明したのには理由があるのです。Cコードをオブジェクト(.o)ファイルにコンパイルして、コンパイルしようとしました .section .init .globl _start _start: bl main loop$: b loop$ 別のオブジェクトファイルにリンクし、それらを一緒にリンクして、取得しkernel.imgます。その後、すでに存在するカーネルを自分のものに置き換えましたが、Cコードは実行されません。私が書いたCコードは、OK LEDをオンにしてから戻ります(それからになりますloop$: b loop$)。しかし、OK LEDは数回ランダムに点滅し、その後消灯します。これが私のCコードです。 int main(int argc, char ** argv) { volatile unsigned *gpioAddr = (volatile unsigned *)0x20200000; *(gpioAddr + 4) = 1 << 18; *(gpioAddr + 40) = 1 << 16; return 0; } Raspberry Piでのオペレーティングシステム開発にCを使用するにはどうすればよいですか? …


3
プッシュボタンでイベントが多すぎる
LCDディスプレイに情報を書き込むmp3プレーヤーを書いています。キーボードの使用からプッシュボタンの使用に変換したいのですが、キーを何度も押し続けています。プルアップと立ち下がり/立ち上がりエッジを試しましたが、まだ同じ結果が得られます。これが既知の問題であるか、私が何か間違ったことをしているのか、誰もが知っていますか?ああ、wiringPiを使用してこれを完全にCで行っています。
12 c 

2
Cを使用してPIの温度を取得する
vcgencmdツールを使用して温度を取得できることはわかっていますが、vcgencmdのstdoutを読み取らずにプログラムで温度を取得するためにCで使用できるAPIがあるかどうか疑問に思っていましたか?
11 c  temperature 

2
スイッチでLEDをオンまたはオフにする
触覚のプッシュボタンスイッチを使用して、LEDがオフのときに点灯し、オンのときに消灯するコードを記述しようとしています。私は、wiringPiライブラリを使用して適切なコードであると確信しているものを記述しましたが、オフにしたときにのみオンになり、その後オフにできません。非常にまれな状況で、何度も繰り返し押すと、LEDがオンになっているときにLEDが消灯し、ボタンを押しますが、それが正常に機能していないことは確かです。 #include <wiringPi.h> int main (void) { wiringPiSetup (); pinMode (0, OUTPUT); pinMode (1, INPUT); digitalWrite (0, LOW); for(;;) { if(digitalRead (1) == LOW) { if(digitalRead (0) == HIGH) digitalWrite (0, LOW); else if(digitalRead (0) == LOW) digitalWrite (0, HIGH); } } return 0; } 回路の配線方法の画像を添付しました。
10 c 

2
Javaを使用してヘッダーピンにデータを読み書きする方法は?
私のRaspberry PiでJavaを実行したところ、思ったよりもずっとねじ込みました。Javaからヘッダーピンにデータを読み書きできるようにしたい。これどうやってするの?ヘッダーピンからデータを取得するために、最初にCでドライバーまたは何らかのソートを作成する必要がありますか?Soft-float Debian「wheezy」のインスタンスを実行しています。これはJavaでも可能ですか?知っておくべき回避策はありますか?読んでいただきありがとうございます!
9 gpio  linux  java  c 

2
C用GPIOライブラリ
Raspberry Pi 2でGPIOピンを利用したいのですが、個人的に言語が嫌いなので、Pythonは使用しません。ただし、Cの使用に関する情報は見つからず、Pythonのみです。 公式のC APIはありますか?その場合、チュートリアルはどこにありますか?そうでない場合、どのような選択肢がありますか?
8 gpio  pi-2  c  tutorial 

1
Cを使用したGPIO状態の読み取り
Cの基本的なGPIOプログラミングに慣れるために、この例を実装しました。このコードは、GPIOピンへの書き込み方法を示していますが、ピンの状態の読み取り方法を明示的に示していません。私はと思われるWiringPiは私がしたいと思うので、最終的にはよりよい解決策になり、出力端子の状態を読み、最終的に、しかし一方で、私はドムとゲルトのコードを私のトレッキングを完了したいと思います。それでは、ピンの値をどのように読み取ることができますか?
8 gpio  c 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.