Entrar    Registrar

Pesquisar

Programação C/C++

ESP8266 - Compilando em C com o SDK Espressif no Eclipse/Linux

Autor: andre_teprom • Categoria: Programação C/C++ • Postado em 01 Out 2017 13:39 • Visualizado: 757x • 2 comentários

Estou disponibilizando o arquivo .OVA do VirtualBox com o snapshot de um ambiente de desenvolvimento em C++ com o Eclipse no Lubuntu:
https://drive.google.com/file/d/0B1Pk4ZxWGXeVQ2M1SDFOT3R6ZHM/view?usp=sharing ( Usuário: user / Senha: andre )

Imagem

Devido á um "bug" do syntax highlighter do Eclipse com codigo C++ de não reconhecer o tipo nativo uint8_t do GCC, não consegui remover esse Warning da IDE, mas que ficou presente apenas no Eclipse, sendo que na compilação do GCC não afetaou em nada. Nos foruns da área, cada um resolveu isso de um modo diferente, mas não quis perder tempo com isso.

Inicialmente utilizei como base o video do AMMAURO #3, que ensina detalhadamente todos os passos necessários para instalação do SDK da Espressif e toolchain de Xtensa para compilação em C para o microcontrolador ESP8266 ( o final do video anterior dele AMMAURO #2 também é util, mostrando como compartilhar arquivos entre Linux/Widows ):...

Ler mais »

Programa-exemplo de aprimoramento de imagem com OpenCV no QT

Autor: andre_teprom • Categoria: Programação C/C++ • Postado em 14 Jan 2014 21:42 • Visualizado: 1100x • 1 comentar

Aplicações envolvendo processamento de imagens tem sido cada vez mais comum no quotidiano.

Para inicar qualquer trabalho de reconhecimento e classificação de imagens, o primeiro passo é realizar a etapa de aprimoramento da imagem "image enhancement" para melhor facilitar a extração dos pontos de interesse.

Uma das bibliotecas gratuitas mais utilizadas é o OpenCv, cujos recursos permitem acelerar o desenvolvimento de soluções em processamento de imagens.

O programa abaixo foi baseado num exemplo disponibilizado gratuitamente no fórum QTcentre, no qual incluí algumas outras opções:
http://www.qtcentre.org/threads/43056-Qt-OpenCV-simple-example

Segue a tela:
Imagem

Segue o projeto, baseado no OpenCV2.3 e QT 4.7.3:
http://speedy.sh/nJ8dB/WebCamReader.rar

Segue a tela da IDE:
Imagem

Ler mais »

Programa para rotacionar matriz de caracteres

Autor: andre_teprom • Categoria: Programação C/C++ • Postado em 09 Jan 2014 21:24 • Visualizado: 1381x • 0 comentários

Ao lidarmos com displays que não têm padrão de caracteres no tamanho desejado, precisamos inserir mapas de caracteres no código do programa. Como gerar a tabela inteira é uma tarefa um tanto proibitiva, o próximo passo é fazer uma busca na web por algum arquivo de bitmap disponível.

No entanto, depois de encontrá-lo e colocar o mapa no código, não raramente nos damos conta de que esses caracteres não foram criados na direção que o painel será posicionado, e teremos de fazer rotação de + / - 90 graus no mapa, o que significa:

Queremos converter isso...
Imagem

...nisso
Imagem

O programa abaixo realiza essa tarefa: Primeiro, definimos o arquivo que contém o código do mapa deve ser incluído, em seguida seleciona-o e, finalmente transpôe-se cada matriz de caracteres da seguinte forma:...

Ler mais »

Rotina alternativa para leitura de teclado matricial 4x4

Autor: andre_teprom • Categoria: Programação C/C++ • Postado em 05 Jan 2014 20:40 • Visualizado: 1340x • 0 comentários

Será apresentado a seguir a implementação de uma rotina de varredura de teclado matricial, um pouco diferente as utilizadas regularmente, que traz alguns benefícios:

1) Permite combinação de várias teclas pressionadas na mesma linha: 8 (4 teclas), 32 (3 teclas), 48 (2 teclas), 16 (1 tecla).
2) Mais rápido, pois são realizadas 2 varreduras (de nibble), em vez de 16 varreduras de bits na abordagem clássica.

Segue abaixo a implementação:
cpp code

/* ********************************************************************** */
#define ROW_MASK 0x0F
#define COLUMN_MASK 0xF0
#define NO_KEY 0x00
/* ********************************************************************** */
unsigned int ScanKey ( void )
{
unsigned int ReadingKey ;
TRISx = COLUMN_MASK ; // Set high nible as Input and low nible as Output ( not tested )...

Ler mais »