PageSourceSearch

https://docs.franzininho.com.br/assets/js/94c955d1.1468ed84.js

js franzininho.com.br collected 2026-10-07 21:20:57 UTC 10,730 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkFranzininho=self.webpackChunkFranzininho||[]).push([[6200],{6604:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>r,toc:()=>l});var s=i(17624),a=i(4552);const t={id:"franzininhoc0-arduino-identificacao-pinos",title:"Identifica\xe7\xe3o dos Pinos no Ambiente Arduino",slug:"/franzininho-c0/arduino-identificacao-pinos",description:"Identifica\xe7\xe3o dos Pinos da Franzininho C0 no Ambiente Arduino"},o=void 0,r={id:"franzininhoSTM32C0/exemplos-arduino/franzininhoc0-arduino-identificacao-pinos",title:"Identifica\xe7\xe3o dos Pinos no Ambiente Arduino",description:"Identifica\xe7\xe3o dos Pinos da Franzininho C0 no Ambiente Arduino",source:"@site/docs/franzininhoSTM32C0/exemplos-arduino/identificacao-pinos.md",sourceDirName:"franzininhoSTM32C0/exemplos-arduino",slug:"/franzininho-c0/arduino-identificacao-pinos",permalink:"/docs/franzininho-c0/arduino-identificacao-pinos",draft:!1,unlisted:!1,editUrl:"https://github.com/Franzininho/docs-franzininho-site/edit/main/docs/franzininhoSTM32C0/exemplos-arduino/identificacao-pinos.md",tags:[],version:"current",frontMatter:{id:"franzininhoc0-arduino-identificacao-pinos",title:"Identifica\xe7\xe3o dos Pinos no Ambiente Arduino",slug:"/franzininho-c0/arduino-identificacao-pinos",description:"Identifica\xe7\xe3o dos Pinos da Franzininho C0 no Ambiente Arduino"},sidebar:"docs",previous:{title:"Primeiros passos com Arduino",permalink:"/docs/franzininho-c0/arduino-primeiros-passos"},next:{title:"Placa Franzininho DIY",permalink:"/docs/franzininho-diy/sobre"}},d={},l=[{value:"Entrada e Sa\xedda Digital",id:"entrada-e-sa\xedda-digital",level:2},{value:"Entrada Anal\xf3gica (ADC)",id:"entrada-anal\xf3gica-adc",level:2},{value:"Interface Serial Ass\xedncrona (UART)",id:"interface-serial-ass\xedncrona-uart",level:2},{value:"SPI",id:"spi",level:2},{value:"I^2^C",id:"i2c",level:2},{value:"Op\xe7\xf5es V\xe1lidas para os Pinos",id:"op\xe7\xf5es-v\xe1lidas-para-os-pinos",level:2}];function c(e){const n={code:"code",em:"em",h2:"h2",img:"img",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.M)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"Na documenta\xe7\xe3o da ST, os pinos dos microcontroladores STM32 s\xe3o identificados por nomes como PA1, PA2 e PB6 (como pode ser visto no esquema da Franzininho C0). Descrevemos aqui as identifica\xe7\xf5es usadas no Ambiente Arduino."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:'Estas informa\xe7\xf5es se referem \xe0 op\xe7\xe3o de placa "Generic STM32C0" do pacote STM32duino. Futuramente esperamos ter uma op\xe7\xe3o de placa espec\xedfica para a Franzininho C0, usando op\xe7\xf5es default mais adequadas para os pinos.'})}),"\n",(0,s.jsx)(n.p,{children:"A figura abaixo resume as identifica\xe7\xf5es:"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Identifica\xe7\xe3o dos Pinos no Ambiente Arduino",src:i(91740).c+"",width:"800",height:"595"})}),"\n",(0,s.jsx)(n.p,{children:'O pacote STM32duino aceita as identifica\xe7\xf5es do tipo PA1 como "nomes" dos pinos, por\xe9m esta n\xe3o \xe9 a identifica\xe7\xe3o usual do ambiente Arduino.'}),"\n",(0,s.jsx)(n.h2,{id:"entrada-e-sa\xedda-digital",children:"Entrada e Sa\xedda Digital"}),"\n",(0,s.jsx)(n.p,{children:"Para entrada e sa\xedda digital, o ambiente Arduino utiliza n\xfameros para identificar os pinos. A figura no in\xedcio da p\xe1gina mostra os 
1n\xfameros correspondentes aos pinos da Franzininho."}),"\n",(0,s.jsx)(n.p,{children:"As fun\xe7\xf5es digitais aceitam tamb\xe9m os nomes usados para entrada anal\xf3gica (ver o pr\xf3ximo item)."}),"\n",(0,s.jsx)(n.h2,{id:"entrada-anal\xf3gica-adc",children:"Entrada Anal\xf3gica (ADC)"}),"\n",(0,s.jsx)(n.p,{children:"Para entrada anal\xf3gica, o ambiente Arduino utiliza nomes do tipo An. A figura no in\xedcio da p\xe1gina mostra os nomes correspondentes aos pinos da Franzininho."}),"\n",(0,s.jsx)(n.h2,{id:"interface-serial-ass\xedncrona-uart",children:"Interface Serial Ass\xedncrona (UART)"}),"\n",(0,s.jsx)(n.p,{children:"O microcontrolador na Franzininho C0 possui duas interfaces seriais ass\xedncronas (uart1 e uart2). Ele possui uma certa flexibilidade na conex\xe3o destas interfaces aos pinos."}),"\n",(0,s.jsx)(n.p,{children:"No ambiente Arduino, as interfaces seriais ass\xedncronas s\xe3o acessadas atrav\xe9s de objetos com nomes como Serial, Serial1 e Serial2."}),"\n",(0,s.jsx)(n.p,{children:"Na Franzininho C0, os pinos PA9 e PA10 est\xe3o conectados ao conversor serial USB CH340, para fornecer comunica\xe7\xe3o serial com um micro atrav\xe9s de um cabo USB."}),"\n",(0,s.jsxs)(n.p,{children:['A op\xe7\xe3o "Generic STM32C0" define um objeto Serial associado \xe0 interface uart1, usando os pinos PA0 e PA1 (como indicado na figura no alto da p\xe1gina). Para usar o objeto Serial para comunicar via USB \xe9 preciso reconfigurar os pinos atrav\xe9s dos m\xe9todos setRx e setTx ',(0,s.jsx)(n.strong,{children:"antes"}),' de chamar o m\xe9todo begin (veja tamb\xe9m o exemplo "Hello World"):']}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"  Serial.setRx(PA_10_R);\r\n  Serial.setTx(PA_9_R);\r\n  Serial.begin(115200);\n"})}),"\n",(0,s.jsx)(n.p,{children:"Obs.: Os nomes especiais para os pinos PA9 e PA10 se devem ao fato destes pinos compartilharem os mesmos pinos f\xedsicos que PA11 e PA12."}),"\n",(0,s.jsx)(n.p,{children:"Para usar a uart2 \xe9 preciso declarar um objeto Serial2 e especificar os pinos que ser\xe3o usados:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"HardwareSerial Serial2(uart2);\r\n\r\n  Serial2.setRx(PA3);\r\n  Serial2.setTx(PA2);\r\n  Serial2.begin(115200);\n"})}),"\n",(0,s.jsx)(n.h2,{id:"spi",children:"SPI"}),"\n",(0,s.jsx)(n.p,{children:"A figura no alto da p\xe1gina indica os pinos utilizados por padr\xe3o para a interface spi, acessada atrav\xe9s do objeto SPI que \xe9 parte da biblioteca padr\xe3o SPI."}),"\n",(0,s.jsx)(n.p,{children:"Veja detalhes no exemplo SPI."}),"\n",(0,s.jsx)(n.h2,{id:"i2c",children:"I^2^C"}),"\n",(0,s.jsx)(n.p,{children:"No ambiente Arduino, a interface i^2^c \xe9 acessada atrav\xe9s do objeto Wire, que \xe9 parte da biblioteca padr\xe3o SPI."}),"\n",(0,s.jsxs)(n.p,{children:['A op\xe7\xe3o "Generic STM32C0" usa como padr\xe3o os pinos PA9 e PA10 para a interface i2c. Como estes pinos est\xe3o ligados na Franzininho C0 aos conversor serial USB, \xe9 preciso reconfigurar os pinos atrav\xe9s dos m\xe9todos setSCL e setSDA ',(0,s.jsx)(n.strong,{children:"antes"}),' de chamar o m\xe9todo begin (veja o exemplo "I2C").']}),"\n",(0,s.jsx)(n.h2,{id:"op\xe7\xf5es-v\xe1lidas-para-os-pinos",children:"Op\xe7\xf5es V\xe1lidas para os Pinos"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"UART1"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Sinal"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Op\xe7\xf5es"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"TX"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"PA0, PA9, PB6, PC14"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"RX"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"PA1, PA8, PA10, PB7"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"UART2"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Sinal"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Op\xe7\xf5es"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"TX"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"PA2, PA4, PA8, PA14"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"RX"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"PA3, PA5, PA13, PA14"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"SPI"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Sinal"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Op\xe7\xf5es"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"MISO"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"PA6, PA1, PB6"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"MOSI"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"PA2, PA7, PA12, PB6"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"SCK"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"PA1, PA5, PB6"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"SS"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"PA4, PA8, PA14"})]})]})]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"I2C"})}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Sinal"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Op\xe7\xf5es"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"SCL"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"PA9, PB6, PB7"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"SDA"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"PC14, PA10, PB7"})]})]})]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Autor"}),(0,s.jsx)(n.th,{style:{textAlign:"left"},children:"Daniel Quadros"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"Data:"}),(0,s.jsx)(n.td,{style:{textAlign:"left"},children:"19/10/2023"})]})})]})]})}function h(e={}){const{wrapper:n}={...(0,a.M)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},91740:(e,n,i)=>{i.d(n,{c:()=>s});const s=i.p+"assets/images/FranzC0_Arduino-89bf26df3ced3b5ae9d0bb802bebeebb.png"},4552:(e,n,i)=>{i.d(n,{I:()=>r,M:()=>o});var s=i(11504);const a={},t=s.createContext(a);function o(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.