Sida 5 av 5

Re: Skicka RS232 från en AVR

Postat: 15 juli 2009, 14:02:38
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 :(

Re: Skicka RS232 från en AVR

Postat: 15 juli 2009, 15:06:06
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.

Re: Skicka RS232 från en AVR

Postat: 15 juli 2009, 16:06:30
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...

Re: Skicka RS232 från en AVR

Postat: 15 juli 2009, 17:26:27
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 :)

Re: Skicka RS232 från en AVR

Postat: 15 juli 2009, 17:53:25
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 ?

Re: Skicka RS232 från en AVR

Postat: 15 juli 2009, 17:58:33
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.

Re: Skicka RS232 från en AVR

Postat: 15 juli 2009, 18:22:45
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.

Re: Skicka RS232 från en AVR

Postat: 15 juli 2009, 19:32:02
av Gildebrand
Jag får helt enkelt prova, det lär ju visa sig.

Trial and error :lol:

Re: Skicka RS232 från en AVR

Postat: 16 juli 2009, 08:23:52
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

Re: Skicka RS232 från en AVR

Postat: 3 september 2009, 15:35:53
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).