Documente Academic
Documente Profesional
Documente Cultură
(https://www.dobitaobyte.com.br/repetidor-wi
raspberry-e-arduino/) -co
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/)
(https://i2.wp.com/www.dobitaobyte.com.br/wp-
content/uploads/2016/01/balde_hates.png)
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.
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)
Testei com 57600 e também não estava bom, então cheguei ao ideal, que nesse caso é 38400, dando uma
(https://i2.wp.com/www.dobitaobyte.com.br/wp-
content/uploads/2016/01/baudRate38400.jpg)
Registrador SPBRG
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.
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)
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)
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
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/)
Selecione o idioma
Powered by Tradutor (https://translate.google.com)
Do bit Ao Byte
2.751 curtidas
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
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/omega/) OpenCV
(https://www.dobitaobyte.com.br/tag/opencv/) OTA (https://www.dobitaobyte.com.br/tag/ota/) PCF8574
(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/calculo-do-baud-rate-para-pic/ 5/6
12/04/2019 Cálculo do baud rate para PIC • Do bit Ao Byte
CURTO CIRCUITO
USINA INFO
VOCORE
MASUGUX
ELETROGATE
AUTOCORE ROBÓTICA
ONION OMEGA
FULLTRONIC
AF ELETRÔNICA
BAÚ DA ELETRÔNICA
https://www.dobitaobyte.com.br/calculo-do-baud-rate-para-pic/ 6/6