#include "pico/stdlib.h"
#define led_pin_red 13
//int tempo = 1000;
int ponto = 200; //LED aceso por 0,2 segundos
int traco = 800; //LED aceso por 0,8 segundos
int GAP = 125; //O interv. entre (.) e (-) dentro de uma mesma letra é de 0,125 seg
int letras = 250; // intervalo entre letras deve ser de 0,25 segundos
void func_S();
void func_O();
int main(){
gpio_init(led_pin_red);
gpio_set_dir(led_pin_red, GPIO_OUT);
while (true) {
func_S();
gpio_put(led_pin_red,false);
sleep_ms(letras);
func_O();
gpio_put(led_pin_red, false);
sleep_ms(letras);
func_S();
gpio_put(led_pin_red,false);
sleep_ms(3000);//intervalo de 3 seg para a próx. execução
}
}
void func_S(){
gpio_put(led_pin_red, true); //primeiro ponto
sleep_ms(ponto);
gpio_put(led_pin_red, false);
sleep_ms(GAP);
gpio_put(led_pin_red, true); //segundo ponto
sleep_ms(ponto);
gpio_put(led_pin_red, false);
sleep_ms(GAP);
gpio_put(led_pin_red, true); //terceiro ponto
sleep_ms(ponto);
}
void func_O(){
gpio_put(led_pin_red, true); //primeiro traço
sleep_ms(traco);
gpio_put(led_pin_red, false);
sleep_ms(GAP);
gpio_put(led_pin_red, true); //segundo traço
sleep_ms(traco);
gpio_put(led_pin_red, false);
sleep_ms(GAP);
gpio_put(led_pin_red, true); //terceiro traço
sleep_ms(traco);
}