Programação de Sistemas Embarcados
Programação de Sistemas Embarcados,
Edição 1 Desenvolvendo Software para Microcontroladores em Linguagem C
By Rodrigo Maximiano Antunes de Almeida, Carlos Henrique Valério de Moraes and Thatyana de Faria Piola Seraphim

Data de publicação : 04 Jul 2016

Sua solicitação será avaliada de acordo com nossa cota e a relação curso x disciplina ministrada.

Descrição

Os sistemas embarcados são dispositivos que podem ser encontrados em qualquer lugar, de aplicações residenciais a controladores de processos críticos como aviação ou equipamentos médicos. Aprender a programar estes dispositivos envolve conhecer o hardware, os periféricos e a interação entre eles. Este livro traz os conhecimentos e ferramentas necessárias para que o leitor possa entender estes dispositivos e desenvolver aplicações com segurança e rapidez.

Existe uma carência de livros na área de sistemas embarcados em português. A maioria incorre em dois problemas: ou é extremamente superficial no tema de programação de embarcados ou é focada em um tipo específico de processador, limitando sua utilidade para um fabricante oi item específico. Com relação ao tempo, o momento é bastante propício para este tipo de literatura. Com a popularidade da plataforma Arduino várias pessoas têm começado seus estudos nesta área. Outro grande motivador é o advento da "internet das coisas", plataformas embarcadas que possuem acesso a internet, várias empresas multinacionais vem investindo nesta área (Intel, Oracle, Advantech, Dell) e as universidades começam a perceber a escassez de mão de obra no mercado.

Características

  • Oferece conhecimento técnico sobre embarcados e periféricos;
  • Possui um acervo de projetos práticos;
  • Referencial teórico sobre programação;
  • Prepara o leitor para iniciar seus estudos em tópicos mais avançados como sistemas operacionais de tempo real (RTOS), Linux embarcado ou Android;
  • Exercícios
Sobre o autor(es)
By Rodrigo Maximiano Antunes de Almeida; Carlos Henrique Valério de Moraes and Thatyana de Faria Piola Seraphim
SUMÁRIO
Sumário
Parte I
Linguagem C
Capítulo 1
Introdução
1.1 O que são sistemas embarcados 5
1.2 O hardware 6
1.3 Hardware utilizado 7
1.4 Ambiente de programação 10
1.5 Uso da linguagem C 11
Capítulo 2
Sistemas de numeração
2.1 As bases 15
2.2 Conversão entre bases 19
2.3 BCD e BCD compactado 21
2.4 Código Gray 22
2.5 Codificação ASCII 24
2.6 Exercícios 26
Capítulo 3
Linguagem C
3.1 Processo de compilação 31
3.2 Organização dos programas em C 32
3.3 Padrão de escrita 34
3.4 Diretivas de pré-compilação 36
3.5 Função main() 43
3.6 Entrada e saída de dados 45
3.7 Exercícios 46
Capítulo 4
Variáveis
4.1 Utilização de números e seus tipos 51
4.2 Declaração de variáveis 53
4.3 Conversão de tipos 56
4.4 Modificadores 58
4.5 Ponteiros 62
4.6 Exercícios 65
Capítulo 5
Estruturas compostas
5.1 Estruturas homogêneas 69
5.2 Estruturas heterogênas 76
5.3 Bit fields 77
5.4 Enumeradores 79
5.5 Definições de tipo 79
5.6 Exercícios 81
Capítulo 6
Operações binárias
6.1 Álgebra booleana 84
6.2 Operações binárias (bitwise) 91
6.3 Operação de deslocamento 95
6.4 Manipulando apenas 1 bit de cada vez 99
6.5 Exercícios 105
Capítulo 7
Estruturas condicionais
7.1 Comando condicional if 108
7.2 Comando condicional aninhado 109
7.3 Comando de seleção switch...case 110
7.4 Exercícios 113
Capítulo 8
Estruturas de repetição
8.1 Repetição com teste no início 116
8.2 Repetição com teste no final 116
8.3 Repetição com variável de controle 117
8.4 Comandos de desvio 119
8.5 Rotinas de tempo 120
8.6 Exercícios 122
Capítulo 9
Funções e bibliotecas em linguagem C
9.1 Criando funções 128
9.2 Bibliotecas 132
9.3 Driver ou biblioteca? 140
9.4 Composição de bibliotecas 140
9.5 Exercícios 143
Capítulo 10
Planejando o software embarcado
10.1 Primeiro modelo: o loop infinito 148
10.2 A evolução do loop no tempo 150
Capítulo 11
Debug de sistemas embarcados
11.1 Externalizar as informações 156
11.2 Programação incremental 160
11.3 Cuidado com a otimização de código 161
11.4 Reproduzir e isolar o erro 162
11.5 Crie rotinas de teste 162
11.6 Criação de uma biblioteca para debug 164
Parte II
Controlando periféricos de sistemas embarcados
Capítulo 12
Introdução a microcontroladores
12.1 A unidade de processamento 172
12.2 Memória 177
12.3 Mapeando periféricos na memória 178
12.4 Clock e tempo de instrução 181
12.5 Microcontroladores 182
12.6 Registros de configuração do microcontrolador 186
12.7 Requisitos elétricos do microcontrolador 187
12.8 Exercícios 188
Capítulo 13
Programação dos periféricos
13.1 Controlando os terminais do microcontrolador 192
13.2 Configuração dos periféricos 200
13.3 Exercícios 205
Capítulo 14
Saídas digitais
14.1 Acionamentos 208
14.2 Controle de Led RGB 216
14.3 Expansão de saídas 219
14.4 Exercícios 222
Capítulo 15
Display de 7 segmentos
15.1 Multiplexação de displays 228
15.2 Projeto: Relógio 236
15.3 Exercícios 237
Capítulo 16
Entradas digitais
16.1 Debounce por hardware 242
16.2 Debounce por software 243
16.3 Arranjo matricial 247
16.4 Criação da biblioteca 249
16.5 Detecção de eventos 251
16.6 Aplicações 252
16.7 Exercícios 255
Capítulo 17
Display LCD
17.1 Circuito de conexão 259
17.2 Comunicação com o display 261
17.3 Criação da biblioteca 265
17.4 Desenhar símbolos personalizados 268
17.5 Criando um console com displays de LCD 272
17.6 Exercícios 275
Capítulo 18
Comunicação serial
18.1 I2C 279
18.2 SPI 291
18.3 CAN 294
18.4 RS232 297
18.5 USB 303
18.6 Serial sem fios 306
18.7 Leitura e processamento de protocolos 307
18.8 Exercícios 312
Capítulo 19
Conversor analógico digital
19.1 Elementos sensores 316
19.2 O conversor eletrônico 320
19.3 Processo de conversão 323
19.4 Aplicação 326
19.5 Exercícios 328
Capítulo 20
Saídas PWM
20.1 Conversor digital-analógico usando um PWM 332
20.2 Soft PWM 334
20.3 O periférico do PWM 335
20.4 Criação da biblioteca 336
20.5 Aplicações 338
20.6 Exercícios 341
Capítulo 21
Temporizadores
21.1 Criação da biblioteca 345
21.2 Aplicação 347
21.3 Exercícios 353
Capítulo 22
Interrupção
22.1 Fonte de interrupção 356
22.2 Acessando a rotina de serviço da interrupção 357
22.3 Compartilhando informações 359
22.4 Exercícios 362
Capítulo 23
Watchdog
23.1 Modo de uso 364
Parte III
Arquiteturas para desenvolvimento de software embarcado
Capítulo 24
Arquiteturas de software embarcado
24.1 One-single-loop 372
24.2 Sistema controlado por interrupções 374
24.3 Multitask cooperativo 377
24.4 Kernel 385
24.5 Sistemas operacionais 388
24.6 Exercícios 393
Capítulo 25
Desenvolvimento de um kernel cooperativo
25.1 Buffers circulares 398
25.2 Ponteiros de função 401
25.3 Execução das tarefas 403
25.4 Adição e reexecução de processos 406
25.5 Exercícios 408
Capítulo 26
Projeto de kernel com soft realtime
26.1 O tempo real: soft e hard realtime 412
26.2 Atendendo requisitos temporais 413
26.3 Kernel cooperativo com soft realtime 419
26.4 Exercícios 423
Capítulo 27
Controladora de dispositivos
27.1 Padrão de um driver 426
27.2 Mecanismo da controladora 432
27.3 Exercícios 441
Parte IV
Anexos
Circuitos utilizados nas experiências 445
Projeto da placa de desenvolvimento 449
Exercícios resolvidos 457
Índice remissivo 477
Detalhes do Produto
ISBN: 9788535285185
Nº de páginas: 488
Preço de varejo sugerido: R$168,00