Skocz do zawartości

Płynne włączanie i wyłączanie diody


Pomocna odpowiedź

1 minutę temu, Santiago napisał:

po angielsku 😞 , może ktoś zrobi tutaj opis wszystkich funkcji i makr

Ja tam jadę wszystkie strony przez tłumacza. Piąte przez dziesiąte, ale zawsze coś tam się zrozumie. 🙂 No mi trochę jest łatwiej ponieważ posiadam delikatną podbudowę z programowania graficznego. Zupełnie inna architektura, ale sporo pojęć się powtarza tylko pod innymi nazwami. Matematyka, działania logiczne, pętle etc. działają tak samo. 

(edytowany)

Ja większość swoich pomysłów testuję w onlajnowych kompilatorach. W kwestii testowania zachowania algorytmów to jest dobra metoda. 

Po co grzebać za płytkami, czekać na ide, zanim się to załaduje na mikrokontroler. Szkoda czasu 

Edytowano przez _LM_

@_LM_ Jeżeli mowa o prostych AVR'ach, to ujdzie w tłoku, natomiast w kwestii ESP i większych platformach, to masz 100% racji. To czekanie dobija zwłaszcza jak gdzieś się rypnąłeś typu "=" zamiast "==", pomylona literka w zmiennej etc.

51 minut temu, _LM_ napisał:

Po co grzebać za płytkami, czekać na ide, zanim się to załaduje na mikrokontroler. Szkoda czasu 

Na STM32 wgrywa mi się instant 😉 (Do takich celów zwykle wyłączam walidację wgranego wsadu, bo przecież i tak wpinam się debugiem)

53 minuty temu, _LM_ napisał:

Ja większość swoich pomysłów testuję w onlajnowych kompilatorach.

To się zgodzę, wielu rzeczy można się tam dowiedzieć, np. jedna prosta zmiana w kodzie usuwa jakieś 20 instrukcji z assemblera 😉 i kończy się na 2 😄 

  • Lubię! 1
(edytowany)

Żeby nie być gołosłownym 😉możecie przetestować najnowszą wersję
https://onlinegdb.com/8YCRpBZSO

/******************************************************************************

Welcome to GDB Online.
  GDB online is an online compiler and debugger tool for C, C++, Python, PHP, Ruby, 
  C#, OCaml, VB, Perl, Swift, Prolog, Javascript, Pascal, COBOL, HTML, CSS, JS
  Code, Compile, Run and Debug online from anywhere in world.

*******************************************************************************/
#include <stdio.h>
#include <stdint.h>

  
  
uint8_t licznik = 0;
int8_t skladnik = 0;


 
static inline uint8_t MAX(uint8_t a, uint8_t b) { return((a) > (b) ? a : b); }
static inline uint8_t MIN(uint8_t a, uint8_t b) { return((a) < (b) ? a : b); }

 
 

int main()
{
    printf("Hello World\n");
for(int i = 0; i<1000;i++){


    licznik+=skladnik;
    if(licznik == MAX(licznik,255))skladnik = -7;
    if(licznik == MIN(licznik,0))skladnik = 7;
    
    
     printf("licznik %d\n",licznik);
}
    return 0;
}    
    

I w taki sposób bym to rozwiązał na piechotę, pewne poprawki można byłoby wprowadzić jeszcze, no ale... nie przeginajmy bo ktoś mógłby się wystraszyć

 

Edytowano przez _LM_

@_LM_  na telefonie mogę skompilować i działa, ale nie mogę nic zmieniać. W domu zobaczę na kompie już wcześniej myślałem nad takim emulatorem dla arduditru.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...