Questions tagged «c»


5
Arduino:如何在代码中获取板子类型
我想写一个可以在不同的Arduino板上编译的草图。我想在PC上显示当前连接的板。 这意味着用户通过USB电缆将PC连接到Arduino / Teensy板,在其中运行我的草图,而我的草图通过Serial告诉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 const unsigned …
13 c 

4
在Arduino IDE之外编写C程序?
我喜欢将Arduino IDE用于简单项目和Arduino入门的想法,但是到目前为止,我的共识是,它适用于Arduino和/或一般编程的新手。 我的理解是,有可能完全在Arduino IDE外部从头开始编写C程序,然后使用AVRDUDE之类的工具将其上载到Arduino MCU。这个选项虽然吸引人并且很有趣,但是让我有些担忧: 此类“原始C”程序需要导入/链接哪些Arduino库?我假设当一个基于Arduino IDE的程序执行一个程序时,digitalWrite(...)它实际上是在后台调用一个可能由Arduino提供的C库。我担心确保所有这些“底层库”都包含在我的C程序中。有什么想法吗? 通过在Arduino IDE外部进行独奏飞行并冒险冒险还有其他“失落”吗?我现在需要“自己动手”的任何功能/特性吗?
12 arduino-ide  library  c 

2
如何将浮点数转换为char *?
在电气工程堆栈交换上问了这个问题,并直接在这里进行: 自我解释;我将如何将浮点数转换为char *?我有一些代码,其中的浮动“电阻”不断更新。我希望能够将变量“结果”更新为“电阻”的值。如果有帮助,以下是一些代码: 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 UNO和之间没有对应Arduino Due寄存器。 也有一些有用的功能,如pio_clear,pio_set,pio_get,等人,都在这里解释: http://asf.atmel.com/docs/3.19.0/sam3x/html/group__sam__drivers__pio__group.html 现在,我想我已经理解了所提到的三个函数的功能,但其他的函数却无法理解,例如: 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会有诸如:111或的值000。 据我了解,如果我CHANGE在attachInterrupt()函数中使用该选项,则数据序列应始终0101010101不重复。 由于数据来自无线电模块,因此数据变化非常快。
8 arduino-uno  c  isr 

2
AVR-GCC的基本Makefile
我想制作一个用于为arduino编译c程序的makefile。我对make有点熟悉,但从未将其与avr-gcc一起使用。将命令放在makefile中的最简单方法是什么? $ 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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.