Anda di halaman 1dari 6

12/04/2019 Cálculo do baud rate para PIC • Do bit Ao Byte

LATEST NEWS Repetidor WiFi


LoRa com Raspberry com
e Arduino ESP826
(https://www  

(https://www.dobitaobyte.com.br/repetidor-wi
raspberry-e-arduino/) -co

Embarcados, Linux, programação e IoT

Do bit Ao Byt
(https://www.dobitaobyte.com.br/) (https://www.dobitaobyte.com.br

GERAL (HTTPS://WWW.DOBITAOBYTE.COM.BR/GERAL/GERAL/)

PIC (HTTPS://WWW.DOBITAOBYTE.COM.BR/GERAL/PIC-2/)

Cálculo do baud rate para PIC

(https://i2.wp.com/www.dobitaobyte.com.br/wp-
content/uploads/2016/01/balde_hates.png)

Previamente, quero deixar claro que sou um amante de


Arduino, o qual tive o prazer de dar os primeiros passos no
mundo da eletrônica digital. E também quero deixar claro
que não sou especialista nem em PIC nem em Arduino,

mas certamente o entendimento que tive para a dissolução


do problema que tive com o baud rate será útil para outras
pessoas.

Há um post sendo escrito que tratará de vários recursos disponíveis em MCUs PIC e para reduzir a
complexidade e tamanho, preferi antecipar essa parte.

Trata-se que ao utilizar uma MCU PIC, ainda que utilizando a MikroC IDE, o baud rate está diretamente

relacionado à ferquência do clock. Logo, há uma fórmula para chegar aos valores possíveis conforme a MCU
utilizada. Para o post POSTerior, a MCU utilizada é a mesma que deu origem a esse que vos escrevo agora,

sendo o P16F883. Apesar de não utilizar nem 1/4 dos pinos disponíveis, fui obrigado a escolhê-lo pela falta de
opção em tamanho de memória. Aí é fogo; tem modelo de PIC12F 8 pinos que serviria, mas não ajuda muito
existir mais de 250 modelos de MCU se aqui na Banânia só chegam os mais populares. Enfim, o requisito

https://www.dobitaobyte.com.br/calculo-do-baud-rate-para-pic/ 1/6
12/04/2019 Cálculo do baud rate para PIC • Do bit Ao Byte

mínimo para minha escolha de PIC é que tenha oscilador interno, assim ligo ele sem nenhum componente
externo e fica bem mais agradável sua utilização, apesar de ainda assim não ser tão prático quanto um
Arduino UNO.

Marcação a Laser Industrial Marcação a laser para diversos materiais industriais.


KEYENCE Demonstração gratuita.

Se você quiser praticidade, para Windows você encontra o PIC baud rate Calculator
(http://www.micromagicsystems.com/pic-baud/4523812801) (mas ele roda tranquilo com Wine no Linux, já
experimentei aqui).

O ideal é que a taxa de erro fique abaixo de 1%. Então você calcula e vê se o clock selecionado suporta o
baud rate desejado. Por exemplo, estou utilizando o oscilador interno a 8MHz e queria fazer uma comunicação
assincrona a 115200, mas não seria possível:

(https://i1.wp.com/www.dobitaobyte.com.br/wp-
content/uploads/2016/01/baudRate115200.jpg)

Baud rate a 115200

Testei com 57600 e também não estava bom, então cheguei ao ideal, que nesse caso é 38400, dando uma

taxa de erro de 0.16%:

(https://i2.wp.com/www.dobitaobyte.com.br/wp-

content/uploads/2016/01/baudRate38400.jpg)

Baud rate a 38600

Se preferir, também pode utilizar um gerador online (http://www.nicksoft.info/el/calc/?ac=spbrg), mas de


qualquer modo é bom saber como chegar ao valor desejado.

Registrador SPBRG

Marcação a Laser Industrial Marcação a laser para diversos materiais industriais.


KEYENCE Demonstração gratuita.

Nesse registrador defini-se o baud rate, quando todos os passos estão sendo feitos manualmente. Se utilizar o
módulo UART da MikroC IDE, não será necessário ajustar esse registrador, nem os PORTs TX e RX, bastando
configurar as interrupções posteriormente, caso deseje utilizá-las. Mas de qualquer modo, não basta utilizar
UARTx_Init(BAUDRATE), pois as chances de não dar certo em valores altos pode ser grande.

O datasheet descreve o cálculo da taxa de erro de um modo muito simples:

https://www.dobitaobyte.com.br/calculo-do-baud-rate-para-pic/ 2/6
12/04/2019 Cálculo do baud rate para PIC • Do bit Ao Byte

(https://i1.wp.com/www.dobitaobyte.com.br/wp-
content/uploads/2016/01/baudCalcError.jpg)

Calculadora de baud rate

O que é o BRG
Conforme o datasheet descreve, “o BRG (Baud Rate Generator) é um timer de 8 ou 16 bits didicado ao
suporte sincrono e assincrono de operações EUSART”. O modo padrão é 8 bits, podendo ser modificado para
16 bits através do registrador BAUDCTL, no bit BRG16.

Os pares SPBRGH e SPBRG determinam o periodo do timer. Mais detalhes, leia o respectivo datasheet.

O cálculo permite determinar o bit mais conveniente para alcançar a menor taxa de erro. Normalmente, o BRG
é utilizado para baixas velocidades utilizando osciladores de alta frequência. No datasheet tem uma boa tabela
de fórmulas para determinar o baud rate:

(https://i0.wp.com/www.dobitaobyte.com.br/wp-
content/uploads/2016/01/baudFormula.jpg)

Fórmula do baud rate

E também tem uma tabela PRONTA pra utilizar o baud rate sem calcular nada, ou seja, não será necessário
pensar, se você for do tipo preguiçoso.

Não estou passando código nenhum nesse post porque no final das contas, será utilizado
UARTx_Init(BAUDRATE), onde o importante é só calcular o baud rate ideal para passar à função, que fará a

configuração dos registradores necessários, incluindo as portas TX e RX.

Outros recursos utilizados no meu projeto atual serão descritos em mais posts até chegarmos na “cereja
desse bolo”.
Se gostou, acompanhe-nos no Do bit Ao Byte no facebook (https://www.facebook.com/DoBitAoByte) e até o
próximo!

Compartilhe com:

Tweetar Compartilhar 0

Salvar (https://br.pinterest.com/pin/create/button/?guid=6s0szX8cL50g-2&url=https%3A%2F%2Fwww.dobitaobyte.com.br%2Fcalculo-do-baud-rate-para-

SHARE  pic%2F&media=https%3A%2F%2Fi2.wp.com%2Fwww.dobitaobyte.com.br%2Fwp-
E-mail (https://www.dobitaobyte.com.br/calculo-do-baud-rate-para-pic/?share=email&nb=1)
content%2Fuploads%2F2016%2F01%2Fbalde_hates.png%3Ffit%3D465%252C390%26ssl%3D1&description=C%C3%A1lculo%20do%20baud%20rate%20para%20PIC)
0 Share
Post
 WhatsApp (https://www.dobitaobyte.com.br/calculo-do-baud-rate-para-pic/?share=jetpack-whatsapp&nb=1)

 Telegram (https://www.dobitaobyte.com.br/calculo-do-baud-rate-para-pic/?share=telegram&nb=1)

https://www.dobitaobyte.com.br/calculo-do-baud-rate-para-pic/ 3/6
12/04/2019 Cálculo do baud rate para PIC • Do bit Ao Byte

Relacionado

(https://www.dobitaobyte.com.br/fazer-
(https://www.dobitaobyte.com.br/esp8266-
(https://www.dobitaobyte.com.br/dicas-
com-pic-ou-arduino/) com-pic/) de-pic-para-iniciantes-e-
fazer com PIC ou Arduino? ESP8266 com PIC arduineiros/)
(https://www.dobitaobyte.com.br/fazer-
(https://www.dobitaobyte.com.br/esp8266-
Dicas de PIC para iniciantes e
com-pic-ou-arduino/) com-pic/)
Arduineiros
6 de agosto de 2012 12 de novembro de 2015
(https://www.dobitaobyte.com.br/dicas-
In “Linux” In “PIC”
de-pic-para-iniciantes-e-
arduineiros/)
18 de julho de 2014
In “PIC”

Novo sorteio do Arduino Leonardo Sorteio do Arduino Leonardo (com 3 dias de atraso
(https://www.dobitaobyte.com.br/novo-sorteio-do- por causa do feriado)
arduino-leonardo/) (https://www.dobitaobyte.com.br/sorteio-do-
arduino-leonardo-com-3-dias-de-atraso-por-causa-
do-feriado/)

Você precisa fazer log in (https://www.dobitaobyte.com.br/wp-login.php?


redirect_to=https%3A%2F%2Fwww.dobitaobyte.com.br%2Fcalculo-do-baud-rate-para-
pic%2F%23respond) para comentar.

Selecione o idioma
Powered by Tradutor (https://translate.google.com)

SIGA-NOS NO FACEBOOK (HTTPS://WWW.FACEBOOK.COM/DOBITAOBYTE)

Do bit Ao Byte
2.751 curtidas

Curtir Página Assistir ao vídeo

Seja o primeiro de seus amigos a curtir isso.

PESQUISE POR PALAVRA CHAVE

Pesquisar … PESQUISAR

ENCONTRE-NOS EM:

https://www.dobitaobyte.com.br/calculo-do-baud-rate-para-pic/ 4/6
12/04/2019 Cálculo do baud rate para PIC • Do bit Ao Byte

 (https://www.facebook.com/DoBitAoByte/)  (https://twitter.com/DobitAoByte/)
 (https://www.linkedin.com/in/djames-suhanko-7539611b/)  (https://github.com/DjamesSuhanko/)
 (https://www.youtube.com/user/DobitaobyteBrasil/)
 (https://plus.google.com/u/0/105851252405502098519/)

AS MAIS CONSULTADAS

3.3v (https://www.dobitaobyte.com.br/tag/3-3v/) arduino


(https://www.dobitaobyte.com.br/tag/arduino-2/)
biblioteca (https://www.dobitaobyte.com.br/tag/biblioteca/) broker (https://www.dobitaobyte.com.br/tag/broker/) c

(https://www.dobitaobyte.com.br/tag/c/) display (https://www.dobitaobyte.com.br/tag/display/)


esp-idf (https://www.dobitaobyte.com.br/tag/esp-idf/) esp32 (https://www.dobitaobyte.com.br/tag/esp32/)

esp8266
(https://www.dobitaobyte.com.br/tag/esp8266/)
rmware (https://www.dobitaobyte.com.br/tag/ rmware/) FreeRTOS

(https://www.dobitaobyte.com.br/tag/freertos/) gpio
(https://www.dobitaobyte.com.br/tag/gpio/) i2c

(https://www.dobitaobyte.com.br/tag/i2c/) interrupt

(https://www.dobitaobyte.com.br/tag/interrupt/) IOT
(https://www.dobitaobyte.com.br/tag/iot/) keras (https://www.dobitaobyte.com.br/tag/keras/) led

(https://www.dobitaobyte.com.br/tag/led/) leonardo (https://www.dobitaobyte.com.br/tag/leonardo/) linux


(https://www.dobitaobyte.com.br/tag/linux-2/) mcu (https://www.dobitaobyte.com.br/tag/mcu/)

microPython (https://www.dobitaobyte.com.br/tag/micropython/) mqtt


(https://www.dobitaobyte.com.br/tag/mqtt/) nodemcu

(https://www.dobitaobyte.com.br/tag/nodemcu/) oled (https://www.dobitaobyte.com.br/tag/oled/) Omega

(https://www.dobitaobyte.com.br/tag/omega/) OpenCV
(https://www.dobitaobyte.com.br/tag/opencv/) OTA (https://www.dobitaobyte.com.br/tag/ota/) PCF8574

(https://www.dobitaobyte.com.br/tag/pcf8574/) pic (https://www.dobitaobyte.com.br/tag/pic/) python


(https://www.dobitaobyte.com.br/tag/python/) qt

(https://www.dobitaobyte.com.br/tag/qt/) raspberry (https://www.dobitaobyte.com.br/tag/raspberry/)

relay (https://www.dobitaobyte.com.br/tag/relay/) relé (https://www.dobitaobyte.com.br/tag/rele/)

rpi (https://www.dobitaobyte.com.br/tag/rpi/) sdk (https://www.dobitaobyte.com.br/tag/sdk/) sensor


(https://www.dobitaobyte.com.br/tag/sensor/) serial

(https://www.dobitaobyte.com.br/tag/serial/) shield
(https://www.dobitaobyte.com.br/tag/shield/) Sming
(https://www.dobitaobyte.com.br/tag/sming/) timer (https://www.dobitaobyte.com.br/tag/timer/) usb

(https://www.dobitaobyte.com.br/tag/usb/) wemos (https://www.dobitaobyte.com.br/tag/wemos/) wi


(https://www.dobitaobyte.com.br/tag/wi /) wiring (https://www.dobitaobyte.com.br/tag/wiring/)

https://www.dobitaobyte.com.br/calculo-do-baud-rate-para-pic/ 5/6
12/04/2019 Cálculo do baud rate para PIC • Do bit Ao Byte

CURTO CIRCUITO

Curto Circuito - seu produto está aqui (https://www.curtocircuito.com.br)

USINA INFO

Usina Info - sua loja da Internet (https://www.usinainfo.com.br)

VOCORE

VoCore - Menor MIPS com Linux (http://vocore.io/)

MASUGUX

MASUGUX - Novidades em primeira mão


(https://lista.mercadolivre.com.br/_CustId_82246014_seller*id_82246014)

ELETROGATE

Eletrogate - Portal da diversão (https://www.eletrogate.com/)

AUTOCORE ROBÓTICA

Autocore Robótica - a casa do IoT (https://www.autocorerobotica.com.br/)

ONION OMEGA

Onion Omega - com Linux Embarcado (https://onion.io/)

FULLTRONIC

Fulltronic - tudo para seu projeto (https://lista.mercadolivre.com.br/_CustId_189096899)

AF ELETRÔNICA

AF Eletrônica - Produtos e Projetos para IoT (http://www.afeletronica.com.br)

BAÚ DA ELETRÔNICA

Baú da Eletrônica - Tesouros especiais (http://www.baudaeletronica.com.br)

POWERED BY WORDPRESS (HTTPS://WORDPRESS.ORG/) | THEME: GREATMAG (HTTP://ATHEMES.COM/THEME/GREATMAG) BY ATHEMES.

https://www.dobitaobyte.com.br/calculo-do-baud-rate-para-pic/ 6/6

Anda mungkin juga menyukai