Skicka RS232 från en AVR

Övriga diskussioner relaterade till komponenter. Exempelvis radiorör, A/D, kontaktdon eller sensorer.
Användarvisningsbild
Gildebrand
Inlägg: 1108
Blev medlem: 8 maj 2009, 21:40:49
Ort: Falun

Re: Skicka RS232 från en AVR

Inlägg av Gildebrand »

Såg att ATMega128 hade 2st UART, vilket räcker gott och väl för mig om jag bara får till en vga-switch och lite relän men det borde inte vara några problem :)

Vilken tur då att man har några sådana AVRer liggandes :)

Är UART kopplade till några särskilda ben på mcu:n? Jag letade i databladet men hittade inte :(
limpan4all
Inlägg: 8445
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Re: Skicka RS232 från en AVR

Inlägg av limpan4all »

Skojar du?
Tydligare kan det väl knappast bli sid 2 i manualen Rev. 2467M–AVR–11/04 "Pin configurations Figure 1 Pinout ATmega128".
RXD0/RXD0 pin 2/3 respektive RXD1/TXD1 pin 27/28 i TQFP64 kapsel.
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Skicka RS232 från en AVR

Inlägg av sodjan »

På andra sidan i kapitlet "USART" i databladet står det (direkt under schemat) :
Note: Refer to Figure 1 on page 2, Table 36 on page 78, and Table 39 on
page 81 for USART pin placement.
Så du har tre olika ställen där pinnarna för USART är angiva (minst).
Både tabell 36 på sidan 78 och tabell 39 på sidan 81 är väl tydliga nog...
Användarvisningsbild
Gildebrand
Inlägg: 1108
Blev medlem: 8 maj 2009, 21:40:49
Ort: Falun

Re: Skicka RS232 från en AVR

Inlägg av Gildebrand »

Ursäktar...Får nog ta och gå till optikern :roll:

Hur funkar det om man ska använda TX0 och RX0 både för att skicka RS232 och för att programmera den? Går det att göra en y-koppling eller måste man switcha på något sätt?

Nu sitter jag och läser igenom fullversionen av databladet, har bara kollat i sammanfattningen tidigare. Hittade lite trevliga kodexempel där :)
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Skicka RS232 från en AVR

Inlägg av sodjan »

> Hur funkar det om man ska använda TX0 och RX0 både för att skicka RS232 och för att programmera den?

Samtidigt ? Låter lite osannolikt.
Du programmerar väl kretsen först (och då används inte USART) och kör
programet senare (och då används inte programmeringen), eller hur ?
Användarvisningsbild
Gildebrand
Inlägg: 1108
Blev medlem: 8 maj 2009, 21:40:49
Ort: Falun

Re: Skicka RS232 från en AVR

Inlägg av Gildebrand »

Så ska det förstås vara, inte samtidigt. Har för mig att jag såg någon ritning där man hade y-kopplat så att den gick både till RS232port och en FT232-krets för programmering.
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Skicka RS232 från en AVR

Inlägg av sodjan »

Ja, rent elektriskt får man se till att det inte strular. T.ex något annat
som driver pinnarna samtidigt som programmeraren som man använder.
Men funktionellt (d.v.s från processorns sida) så byter pinnarna
funktion beroende på vad man gör, så vitt jag förstår det.
Användarvisningsbild
Gildebrand
Inlägg: 1108
Blev medlem: 8 maj 2009, 21:40:49
Ort: Falun

Re: Skicka RS232 från en AVR

Inlägg av Gildebrand »

Jag får helt enkelt prova, det lär ju visa sig.

Trial and error :lol:
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Skicka RS232 från en AVR

Inlägg av Swech »

Jag brukar sätta 1k mellan MEGA128 usart pinnar och drivkretsen för RS232 (t.ex. MAX232)
Så kopplar jag pinnarna från ISP kontakten direkt. Då blir inte ISP (programmeraren) störd av drivkretsen för RS232

Swech
Användarvisningsbild
jadler
EF Sponsor
Inlägg: 407
Blev medlem: 28 maj 2009, 12:03:43
Ort: Vidja, Huddinge, Stockholm
Kontakt:

Re: Skicka RS232 från en AVR

Inlägg av jadler »

ATmega 1280/2560-familjen har fyra UART i hårdvara, ATmega 644 med kompisar två UART. 1280 (som sitter i Arduino Mega1280) är ytmonterad med många (100) ben (xQFP, 0,5 mm), 644 finns som 40-pinnars DIP och som ytmonterad med 44 ben. Jag är nybörjare på detta och har framgångsrikt lött en 644p på ett adapterkort, skall någon gång göra samma sak med en ATmega 2560 men "fuskar" då med ett Schmartboard för QFP (32-)100 0.5 mm som tillverkaren hävdar att lågstadieelever kan fixa. Den amerikanska tillverkaren hade brutalt dyr frakt, så jag beställde från active-robots.com (UK) och passade på att ordna schysst LEGO (4099) som födelsedagspresent till sonen.

Med bootloader (som Arduino, kanske där du läste det) kan man programmera kretsen över UART och sedan använda samma UART till annat.

AVR har flera Application Notes som handlar om att implementera UART helt eller delvis i mjukvara, med eller utan interrupter. Jag skall just själv till att försöka anpassa deras version av hårdvarustödd mjukvaru-UART som använder USI/TWI/I2C-stödet, i mitt fall på ATtiny 45. På Arduino är det en etablerad lösning, dels med det medföljande biblioteket SoftwareSerial, dels med det bättre NewSoftSerial som använder interrupter. Författaren av det senare rekommenderar inte mer än en samtidig mjukvaru-UART eftersom det är svårt att få det tillförlitligt (om MCU:n skall kunna göra något annat under tiden).
Skriv svar