Siema Mirki. Robię taki mały projekt na Arduino Nano i DFPlayer Mini. Program znalazłem na githubie i prawie wszystko działa. A konkretnie chodzi mi o odczyt ze zmiennej value = myDFPlayer.readFileCounts(). Potrzebuję informacji ile jest plików na karcie sd, żeby później zbudować menu na tej podstawie. Nie rozumiem dlaczego w monitorze portu szeregowego wyświetla się bez problemu nr odtwarzanego utworu a liczba wszystkich utworów już nie.

`
#include "Arduino.h"
#include "SoftwareSerial.h"
#
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Da się rozdzielić kod na #arduino na kilka mniejszych tak żeby korzystały z tych samych zmiennych, bibliotek? Normalnie musiałbym do kazdego fragmentu dorzucać #include "cośtam.h" i definiować osobne zduplikowane zmienne.

Ideałem byłoby takie coś jak w Unity że skrypty można polinkować między sobą i jak się je odpowiednio napisze to wyłączenie jednego nie generuje błedów w pozostałych tylko odłącza daną funkcjonalność.

Pisanie czegoś na 2 tys. linii rozwala
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 2
@ewolucja_myszowatych: to jest standardowy sposób używania zmiennych, czyli przez pliki nagłówkowe wystawiasz zmienne którymi dany moduł chce się podzielić (poprzez słowo kluczowe extern). W "poprawnym" programowaniu nie powinieneś używać bezpośrednio zmiennych, tylko wystawiać funkcję która taką zmienną może uaktualnić lub zwrócić jej wartość.
  • Odpowiedz
via Wykop Mobilny (Android)
  • 3
@ewolucja_myszowatych: możesz przy każdej (o ile nazewnictwo ci się nie powiela i nie zdublujesz czegoś) , kod i zewnętrzne moduły biblioteki itd to wszystko i tak jest składane do kupy przed kompilacją, i współczesny kompilator i linker skutecznie czysci z spraw nieużywanych.
  • Odpowiedz
Mirki koduję #arduino w gołym VS Code i działa mi Intellisense jeśli w IncludePath mam linki do bibliotek. Ale jak podzielę plik arduino na 2 mniejsze to nie mogą one korzystać wzajemnie z siebie, tzn. po otwarciu tego w IDE otwierają się one na zakładkach, kompilacja jest poprawna tylko po otwarciu tego w VS nie mam podpowiedzi.

Da się to podlinkować jakoś? np. #include
Nie używam żadnego dodatku
ewolucja_myszowatych - Mirki koduję #arduino w gołym VS Code i działa mi Intellisense...

źródło: comment_1615052137l7g2HsUt0anDttPsyQs4S7.jpg

Pobierz
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 2
@ewolucja_myszowatych: + protip: polecam zamiast kopiować coś do IDE zaznaczyć sobie w opcjach "Use external editor" i wtedy automatycznie przeładowuje zapiswne pliki i wystarczy kliknąć "program" ( ͡ ͜ʖ ͡)
  • Odpowiedz
Witam, wie ktoś czemu kompilator wypisuje mi, że k = 13, skoro k = i + 010, a 010 w to w dziesiątkowym jest 2, no a i = 5??? To k nie powinno wynosić: 7??
Poniżej umieszczam kod jaki napisałem:

#include
int main(){
{
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp
mam problem z plikami nagłówkowymi

kod głównego pliku .cpp
cout<<"wynik to: "<<dodawanie(5,50)<<endl;

kod
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#elektronika
Mam problem z deepsleep w #esp8266 po napisaniu chociażby najprostszego programu się nie wybudza, kompilowane w VS Code i Arduino IDE, co ciekawe wrzuciłem Espeasy i tam wybudzanie działa prawidłowo. Gdzie może być problem ? Przykładowy kod:


void setup() {
// put your setup code here, to run once:
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#informatyka #programowanie

Przy komendzie osoba.push_back(Prostokat(a,b) wyskakuje błąd "brak odpowiedniego konstruktora do przekonwertowania elemntu "float" na "prostokat". Gdzie robię bład? ()
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ktos pomoże? Nie działa mi funckja if nie wiem czemu
#include
using namespace std;
char szyfruj(string s)
{char y;
int d=s.size(),n,i,k,a,w,p=0,b;
  • 35
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Skrrrrt: Opisz co to ma w ogóle robić. Sformatuj kod tak żeby się dało czytać. Dodatkowo masz wyjście poza zakres w tablicy int tab[25];. Ta tablica powinna mieć rozmiar 26.
  • Odpowiedz
Czy ktoś mógłby mi wyjaśnić, dlaczego podczas wyświetlania tablicy w każdym adresie występuje '=' pomimo tego, że nie ma tego w plikach tekstowych? #programowanie #programista15k #cpp

/*Policzyć, ile znaków (pomijając znaki białe) znajduje się w plikach a.txt i b.txt

Utworzyć tablice dynamiczne a i b zawierające odpowiednio znaki z plików a.txt i b.txt (rozmiar tablic dostosowany do zawartości plików)

W
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@EgzeQTroll: dojezdzasz do końca pliku w ilosc_znakow(), potem w wypelnij() dalej czytasz - temu dostajesz śmiecie. Do zmiany pozycji w pliku jest plikA.seekg(..) i możesz też tego użyć do sprawdzenia rozmiaru pliku bez wczytywania go całego: https://stackoverflow.com/a/2409527

Poza tym:
- tworz i kasuj to abominacje, wywal je i normalnie używaj new i delete
- jak już, to char* tworz(int rozmiar) - zwróć nowy wskaźnik, a nie przez referencje
- po co w ogóle
  • Odpowiedz
Siema, wytłumaczyłby mi ktoś na jakiej zasadzie pętla while w poniższym programie się kończy?? Oraz dlaczego na końcu zmienna "ile" za każdym razem ma wartość 0?? Chodzi mi o ostatnią instrukcję. Dlaczego np. jak wpisuje: ile = ile - 3; program wypisuje gwiazdki w nieskończoność?

Kod;

#include

int
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@tomekszz: W ramach nauki zobacz jak działają debuggery. Nie krytykuje pytania po prostu jest to podstawowe narzędzie pracy ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Mam zerowe doświadczenie z pisaniu takich rzeczy. Potrzebuje termometr 4 kanałowy z wyświetlaczem i kontrolą przez blynk. Skleiłem z kilku projektów w jeden i działa, ale tylko online jeżeli nie znajdzie wifi wyświetlacz nie podaje wartości wyświetla 00.00, po podłączeniu do wifi wszystko działa prawidłowo.
Gdzie robie błąd?

#define BLYNK_PRINT Serial

#include
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach