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


5
Arduino:コードでボードタイプを取得する方法
異なるArduinoボードでコンパイルできるスケッチを書きたいです。現在接続されているボードをPCに表示したい。 これは、ユーザーがUSBケーブルを介してPCをArduino / Teensyボードに接続し、そこでArduino / Teensyボードが私のスケッチを実行し、私のスケッチがどのボードが接続されているかをシリアルでPCに伝えることを意味します。PC上でこのデータを受信して​​表示するC#アプリケーションを実行します。 したがって、スケッチのコンパイル時に選択されたボードが必要です。 https://github.com/backupbrain/ArduinoBoardManagerでコードを見つけましたが、 正しい結果が得られません(いくつかのボードが欠落しているという事実は別として)。 ここにコードからの抜粋: static const uint8_t BOARD_MICRO= 0x04; .... #elif defined(__AVR_Atmega32U4__) // Yun 16Mhz, Micro, Leonardo, Esplora static const uint8_t BOARD = 0x04; static const uint8_t NUM_BITS = 8; static const uint16_t CPU = __AVR_Atmega32U4__; static const unsigned long SRAM_SIZE = 2500; static …
13 c 

4
Arduino IDEの外部でCプログラムを作成していますか?
私はArduino IDEを単純なプロジェクトに使用してArduinoを使い始めるというアイデアが好きですが、これまでに得たコンセンサスは、Arduinoやプログラミング全般に慣れていない人向けです。 私の理解では、完全にArduino IDEの外部でCプログラムをゼロから作成し、AVRDUDEなどのツールを使用してArduino MCUにアップロードすることが可能であるということです。このオプションは、魅力的で興味深いものではありますが、いくつかの懸念事項があります。 このような「raw C」プログラムによってインポート/リンクする必要があるArduinoライブラリは何ですか?私は、Arduino IDEベースのプログラムが実行されるdigitalWrite(...)と、実際にはおそらくArduinoによって提供されるC libを実際に呼び出していると想定しています。これらの「基礎となるライブラリ」がすべてCプログラムに含まれることを確認するのが心配です。考え? Arduino IDEの外で一人で飛行し、冒険することによって他に何か「失われた」ものはありますか?「自分でロール」する必要がある機能/機能はありますか?
12 arduino-ide  library  c 

2
floatをchar *に変換するにはどうすればよいですか?
電気工学スタック交換でこの質問をし、ここに向けられました: かなり自明です。floatをchar *に変換するにはどうすればよいですか?フロートの「抵抗」が常に更新されているコードがあります。変数「result」を更新して、「resistance」の値を取得できるようにしたいと思います。役立つ場合に備えて、以下にコードの一部を示します。 const char * result = ""; float resistance = 2.5; result = resistance; //This bit (obviously) doesn't work ご協力いただきありがとうございます!
11 arduino-uno  c++  c  float 

3
ArduinoスケッチからC関数を呼び出す方法は?
Arduinoのスケッチを使用してCファイルに含まれている関数を呼び出す方法があるかどうか知りたいのですが? 私のCファイルは関数を宣言して定義しています。乱雑な関数定義をArduinoスケッチに配置することを節約するために、関数をスケッチから直接呼び出します。 ArduinoとCを使用してこれを行う標準的な方法はありますか?これがスケッチです: #include "crc16.h"; void setup(){ } void loop(){ CalculateCRC16("<09M", 4); } これはトリミングされたCファイルです。 #include <stdio.h> #include <stdint.h> uint16_t crctable[256] = { 0x0000, 0x1189,..... uint16_t // Returns Calculated CRC value CalculateCRC16( // Call example CalculateCRC16("<09M", 4); const void *c_ptr, // Pointer to byte array to perform CRC on size_t len) …

3
SAM3X8E(Arduino Due)ピンIOレジスタ
Arduino DueのIOレジスタはどのように機能しますか?ちょうどセットArduinoの宇野ではDDRx、その後、PINx読むために、PORTx書き込みに、私はArduinoのために同じことをしたいのですが、それは、次のような多くのより多くのレジスタを、持っているPIO_OWER、PIO_OSER、PIO_CODR、PIO_SODR、など私はArduinoの宇野間の対応を見つけないとArduino Dueレジスタ。 以下のようないくつかの便利な機能もありpio_clear、pio_set、pio_get、と他の人が、すべてがここで説明します: http://asf.atmel.com/docs/3.19.0/sam3x/html/group__sam__drivers__pio__group.html ここで、上記の3つの関数の機能は理解できたと思いますが、他の機能は理解できていません。たとえば、次のとおりです。 pio_configure (Pio *p_pio, const pio_type_t ul_type, const uint32_t ul_mask, const uint32_t ul_attribute) 私は何を把握することはできませんul_attributeとul_typeしています。

2
Arduinoの中断(ピン変更時)
割り込み関数を使用して、から受け取った値を配列に書き込みますdigitalRead()。 void setup() { Serial.begin(115200); attachInterrupt(0, test_func, CHANGE); } void test_func(){ if(digitalRead(pin)==HIGH){ test_array[x]=1; } else if(digitalRead(pin)==LOW){ test_array[x]=0; } x=x+1; } その問題は、印刷するときに、またはのtest_arrayような値があることです。111000 私が理解しているようにCHANGE、attachInterrupt()関数でオプションを使用する場合、データシーケンスは常に0101010101繰り返さないでください。 無線モジュールからのデータであるため、データは非常に速く変化します。
8 arduino-uno  c  isr 

2
avr-gccの基本的なmakefile
arduino用のCプログラムをコンパイルするためのmakefileを作成したいと思います。私はmakeにある程度慣れていますが、avr-gccでこれを使用したことはありません。以下のコマンドをメイクファイルに入れる最も簡単な方法は何ですか? $ avr-gcc -Os -DF_CPU=16000000UL -mmcu=atmega328p -c -o led.o led.c $ avr-gcc -mmcu=atmega328p led.o -o led $ avr-objcopy -O ihex -R .eeprom led led.hex $ avrdude -F -V -c arduino -p ATMEGA328P -P /dev/ttyACM0 -b 115200 -U flash:w:led.hex
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.