Questions tagged [c]
C is a procedural programming language which is widely used in embedded systems. PLEASE NOTE: Arduino is typically programmed in C++, not C.
431 questions
0
votes
1
answer
130
views
Serialise a struct containing a flexible array
I want to serialise and deserialise a struct containing a flexible array.
I did find a working code but wondering if it is the most elegant and optimum way to do it.
This is my first attempt below ...
0
votes
2
answers
83
views
I need help with code with two IR sensors using ATMega16
I'm working on a ball-counting project using two IR sensors to detect balls entering and exiting a room, but I'm currently stuck. I need help refining the logic in my while loop. Here's how I want it ...
0
votes
1
answer
122
views
Problem with char* variable malloc/free. Empty contents on recipient variable after using free
I am working on a custom SD card data logger using the following function and struct:
char *filenameCreator(const char *prefix, const char *num, bool addExtension)
{
char *filename = (char *)...
0
votes
1
answer
95
views
Serial com register formula
i am working on a atmega328p, learning to uses its registers instead a coding with common arduino code.
i've found this formula to get the baud rate on the Serial port (using USART protocol) :
how ...
-1
votes
1
answer
363
views
Declaration of global variables in separate file: compiler conflict
So I have:
1/ My myapp.ino file, that includes src.h (implemented in src.cpp). Compiled for Arduino Uno.
2/ I also have a unit-tests.cpp file that is meant to test functions in src.cpp. Compiled for ...
-1
votes
1
answer
561
views
SPI with DMA in a Arduino Due
I have a project where I need to store data (~16 Mo) on a memory and be able to fetch the data fast (<36000 bits/s) with DMA because I have other signals to take care of.
Currently I use an SD card ...
2
votes
2
answers
6k
views
How to use Interrupt in Arduino to receive the data from Serial Input
Currently i have a project that forced me to make a program that receives several data from Serial Input using Interrupt in Arduino. I use Arduino as the receiver and ESP32 as the sender through ...
1
vote
2
answers
510
views
Working with pulseIn() and millis()
I'm trying to use pulseIn with elapsed time using millis(), I don't want to use interrupts instead of pulseIn (I need pulseIn because I need accurate pulse time), the elapsed time doesn't need to be ...
4
votes
1
answer
697
views
Problem with reading data from ELM327
The idea was to create a bluetooth device on the arduino to read data from the machine (ELM327 v2.1) using the HC-05 bluetooth module.
In this code the bluetooth module is switched to MASTER mode and ...
1
vote
0
answers
137
views
Problem changing the state of the blue LED on an ESP8266
I am trying to change the blue LED on my ESP8266. I can do this (sort of...)
In the setupWifi() function below, there is a loop that is supposed to rapidly blink the LED while wifi is connecting. The ...
1
vote
0
answers
68
views
How to prevent the application code from getting stuck in forever loop when using SerialFlash library in Arduino-Adafruit framework
I have been working on a project that runs on Adafruit's Bluefruit nRF52 board. I used the SerialFlash library for Arduino provided by Paul Stoffregen: https://github.com/PaulStoffregen/SerialFlash....
2
votes
0
answers
193
views
TFT Screen with Arduino UNO does not display as expected
I have a 3.5" TFT LCD communicating in parallel connected to Arduino UNO.
I expect it draws a white circle on a black background but all it does is to show a white screen.
How to fix this?
main.c
...
2
votes
1
answer
284
views
How does the compiler/assembler work wrt bootloader?
I realized that on the atmega boards the bootloader is programmed into the chip.
I'm curious, when compiling a sketch how does the compiler/assembler differ from compiling a standard C program for a ...
0
votes
4
answers
1k
views
How to send multiple bytes with Wire without copying
When I need to send multiple bytes via Wire, for example a long int, I cast it to a byte array and specify a length
long int i;
Wire.write((byte*)&i, 4);
But if I want to send bytes from more ...
-1
votes
1
answer
396
views
How to write arduino code in a c/c++ script
I'm pretty new to arduino. But I have some knowledge about programming in c/c++. I know that arduino is written in c. But it can't be used as normal c/c++ code.
for example ,
instead of including some ...
0
votes
2
answers
156
views
ESP8266 Wemos D1 min pro - how to change TCP_SND_BUF?
Is there any way to change the TCP send buffer size (TCP_SND_BUF) on this module ?
Now it is equal to TCP_SND_BUF = 2 * TCP_MSS = 2 * 1460 = 2920.
Editing lwipopts.h doesn't make any difference.
The ...
-1
votes
1
answer
115
views
Can't get input from 4x4 keyboard
I'd like to make some basic calculator. Currently, I'm struggling with inputs. I wanted to get from user some numerical input, then, I'd like to have an information, which type of calculation he is ...
2
votes
1
answer
3k
views
lcd.createChar() only allows for 8 custom characters
I have a teensy4.1, with a 16 by 2 LCD screen, and an I2C LCD interface.
I was trying to write a bunch of custom characters to an LCD screen, to flip some text.
my issue is that it works fine, but on ...
2
votes
1
answer
494
views
How to process 20-bit sensor data
I have an acceleration sensor (ADXL355) that returns 20-bit data in three bytes, formatted as 2s complement :
acc3 (bits 19-12) in byte register 3 (mapped to bits 7-0)
acc2 (bits 11-4) in byte ...
5
votes
1
answer
2k
views
How arduino PORTB pins are addressed if I want to access them with pointer?
So Let say I want to access Digital Pin 13. Thats port B pin. Is there an memory address associated with this pin 13 of Arduino Uno r3?
How Port B pins are addressed with corresponding pin numbers ...
0
votes
1
answer
87
views
Do I need to use resisters and ICes for specific sensors.What if I dont use it,Will it impact my arduino board some how like making it useless &faulty
So I was reading about Simple AutomaticLight Controller using LDR. or with the help of LDRSenso. But I have LM393 Photoresistor (LDR) Sensor I like to know are they same thing or somewhat different. ...
1
vote
1
answer
189
views
Why use multiple filters output thousands value, use one or two filter can output normal value?
Problem
If the loop runs only one simulated pin and uses a filter, it will output normally (analog 1600~2200, filter 0~500), but creating an array to store multiple filtered simulated pin values will ...
3
votes
1
answer
3k
views
How to build an arduino project with multiple source files?
I'm building an arduino program on linux, using the following Makefile:
ARDUINO_DIR = /usr/share/arduino
BOARD_TAG = uno
ARDUINO_PORT = /dev/ttyAMA0
ARDUINO_LIBS = Wire
include /usr/share/arduino/...
1
vote
1
answer
92
views
Morse encoder code not working as expected on Arduino UNO [closed]
I'll start saying that I don't have much experience working with Arduino and programming in C. I have an Elegoo Arduino UNO clone.
Recently I was trying to build a morse encode which converts a text ...
1
vote
0
answers
274
views
I can get arduino code/board to show voltage using analog input but not python/board
I am trying to simply read a voltage from a battery. I am able to work out how to do this using arduino code on an arduino board. (UNO)
When I try to do the same thing on a board using python the ...
1
vote
1
answer
573
views
Should I use C or C++ for a pure code implementation of Arduino?
I have an arduino board (SAMD21 microcontroller) which supports either Arduino or CircuitPython programming. I'd like to program in pure C/C++ instead of Arduino, which seems to be possible without ...
1
vote
1
answer
2k
views
How to fade LED in a defined time using FastLED
I'm using FastLED library, Arduino Nano and 5 addressable LEDs (WS2812B).
I'd like to create the sequence in the image attached. (all in white color for example)
I know how to turn ON each LED every 0....
12
votes
6
answers
5k
views
Using String instead of C string, yet another attempt to touch a loaded issue
I've been reading a lot over the years why we should not use the notorious String class and how heap fragmentation is bad practice and not professional and we should never use it in our programs or we'...
2
votes
1
answer
5k
views
Arduino parsing of a string using sscanf
Hello I am new to Arduino and C programming.
I wanted to parse string using sscanf fuction
This is my Program
String hith;
int field1,field2;
float field3;
int F1=0,F2=0;
float F3=0;
int h1,h3;
float ...
2
votes
2
answers
1k
views
How to write nonblocking code, for polling sensor at 100 Hz
I'm using this piece of code to try to poll an IMU sensor at 100 Hz (for a AHRS sensor fusion library).
void loop(void)
{
// nonblocking code variables
static uint32_t last_ms;
uint32_t ms;
// ...
-2
votes
1
answer
875
views
Do I use an LED or a pullup resistor for stopping "floating" or "ghosting" for a matrix keypad?
I know this sounds simple, but I have an Arduino Mega 2560 and I am making a matrix keypad for a claw machine. It's a 3*4 matrix keypad. Let's just say, I am making this keypad for the claw machine to ...
1
vote
0
answers
52
views
1 Button + Potentiometer [duplicate]
Sketch
arduino-uno programming
1 Button and 1 Potentiometer
Sketch: Each time the button is pressed, acquire the value of the potentiometer in a array of 10 positions of these values do the average ...
1
vote
1
answer
182
views
int array passed through function has wrong values only after multiple passes
I have this code:
for(int i = 0; i < its; i++) {
x1 = random(0,4);
y1 = random(0,4);
multiLamp(new int[2] {3,1}, new int[2] {x1,x2}, new int[2] {y1,y2}, wait, 2);
multiLamp(new int[...
2
votes
1
answer
138
views
Arduino buzzer code sequence not triggering
I have a problem with my arduino buzzer:
the code should be doing the following:
I have a security system where in order to open the door you have to enter a 4 digit code from the remote. If the code ...
1
vote
0
answers
376
views
Having trouble compiling in VsCode when including arduino libraries. (Win10)
I recently switched over to Visual studio code and away from the arduino IDE though I am a novice at both. When using VSC and the neopixel library and sample code(strandtest) containing animations ...
0
votes
1
answer
2k
views
esp32s: error: 'WDT_TIMEOUT' was not declared in this scope
I am trying to initialize the watchdog timer.
I have installed
arduino-esp32-master.zip
I have
#include <esp_task_wdt.h>
set but it is not highlighted red indicating the IDE knows about it.
...
2
votes
2
answers
5k
views
Difference between char array and unsigned char array [closed]
I have written a small test code for Arduino Uno which is as follows:
unsigned char tes[4];
char testing[4];
void setup() {
Serial.begin(9600);
for (int i = 0; i < 4; i++) {
...
-1
votes
1
answer
432
views
Efficient workflow/tools for converting color images to hex arrays
I would like to display 65k color animated gifs on my oled. I'm using the adafruit library for https://learn.adafruit.com/096-mini-color-oled
Now I need to convert a significant number of images to ...
0
votes
3
answers
1k
views
Run multiple function with different argument/return structure by one function pointer
Edit:
I tried a simple code in Arduino IDE which should've done in the first place instead in doing it in a desktop compiler. Because the results are different by experiment. In the desktop C compiler,...
3
votes
2
answers
1k
views
How to upload code without closing puTTY
My question is quite simple: can you, somehow, upload Arduino code without closing puTTY's serial console? I hate having to close the program to open it again for reading the incoming information.
4
votes
1
answer
1k
views
Why does Arduino round off some integers but not others when my desktop PC does not do this?
I am writing (in C) some low level digit manipulation routines that convert int to float and vice versa for Arduino. I came across some puzzling behaviour with Arduino rounding some numbers but not ...
1
vote
0
answers
138
views
Arduino LCD only display image for few second and turn screen to white
I have a problem with my Arduino and LCD touch screen. I create a few functional button in my Arduino. One of the button is START button. Right now, I want the image is display when I touch START ...
3
votes
2
answers
1k
views
Switch case options get broken after a function call
I'm sorry for the basic question, but I have a switch case where any code placed after a certain function call simply never gets called, and I've spent half a day looking at it, so thank you so much ...
0
votes
1
answer
3k
views
How to include a file from another (parent) directory
This is my structure
program/
src/
Makefile
main.ino
test.h
...
lib/
i2c.h
In main.ino I include test.h and in test.h I'm trying to include i2c.h but it is just not working, I ...
-1
votes
1
answer
276
views
Arduino waits until button release to activate
I'm fairly new to arduino, and on my own I'm trying to move a servo to the left and right using 2 buttons. I've got it working for the most part, however when I hold the button down nothing happens, ...
1
vote
1
answer
647
views
Cannot compile F() macro with R"string"
I am trying to compile the following code:
logger.log_info(F(R"(some text here that may take
multiple lines
and here it is done.)"));
But the compiler exists with the following ...
1
vote
0
answers
58
views
serially parse integer after serially read
I want to write below code but I don't know where I doing wrong, so please help me solve this issue.
Serially read some text like number then I want to serially parse integer value into some variable ...
1
vote
0
answers
166
views
Send message to multiple number
sim.println("AT+CMGS=\"+91xxxxxxxxxx\"\r");
I don't want to write this. I want to write mobile number on serial monitor in Arduino and on that number, i want to send message. how ...
0
votes
1
answer
601
views
Arduino + Codeblocks C++
I'm writing the code for my Arduino board using Code::Blocks editor. When I create a new project, there is AVR Project and Arduino Project under Projects category. Which one do I select?
2
votes
1
answer
13k
views
Need help: Cast from 'char*' to 'uint8_t {aka unsigned char}' loses precision [-fpermissive]
I'm trying to convert the string that I receive from the Websocket to uint8_t that I can copy to the data bytes of CAN protocol frame. I'm using an ESP32 chip and programming it on an Arduino IDE. The ...