Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

3. Externí periferie

Cíle cvičení

  1. Ověření funkce časovače Ticker
  2. Komununikace po UART
    1. výpis informace do konzole
    2. ovládání periferie (LED) pomocí jednoduchého příkazu
  3. Získání dat ze senzoru (např. teplota) a odeslání hodnoty do konzole
    1. v pravidelných intervalech pomocí časovače
    2. asynchronně po stisknutí tlačítka

Podklady

Pro tvorbu vlastního programu můžete využít následující zdrojové kódy:

Kódy je možné stáhnout i z gitlabu, který bude průběžně aktualizován.

Neotevírejte ve VS Code celý repozitář, ale postupně přidávejte adresáře do workspace (nebo otevřete přimo workspace, který je součástí repozitáře). Při otevření nadřízeného adresáře nelze v prostředí PlatformIO vybrat defaultní projekt.

Protože printf v Mbed OS neumí formátovat čísla datového typu float a double, je třeba provést alternativní převod, např. následující funkcí:

void ftos(float num, char *buff){
    if (num<0){
        buff[0]='-';
        buff[1]='\0';
    } else {
        buff[0]='\0';
    }
 
    int a = (int) abs(num);
    char var[11];
    sprintf(var, "%d", a);
    strcat(buff, var);
 
    strcat(buff, ".");
 
    float var1 = (fabs(num)-(float)a)*100; //2 decimal places
    int b = (int) var1;
    if (b < 10){
        strcat(buff, "0");
    }
    sprintf(var, "%d", b);
    strcat(buff, var);
}

courses/b0b37nsi/tutorials/03.txt · Last modified: 2022/03/03 14:08 by viteks