Prosím přečtěte si tento kód

J

j hemangini

Guest
Napsal jsem kód pro sériový přenos na programu HyperTerminal, který je uveden níže.
--------------------------------------------
subjektu Tx je
Port (ČLK: v STD_LOGIC;
TxD: mimo STD_LOGIC;
switch: na STD_LOGIC);
konec Tx;

Behaviorální architektura z Tx je
signál count8bit: std_logic: = '1 ';
Počet signál: integer: = 0;
signál Bit_Count: integer: = 0;
signál Data_Byte: STD_LOGIC_VECTOR (9 downto 0): = "1010010011";
začít
procesu (CLK)
začít
pokud clk'event a CLK = '1 'pak
Počet <= Počet 1;
pokud count = 5208 pak
Počet <= 0;
TxD <= Data_Byte (0);
pro i v 1 až 9 smyčka
Data_Byte (i-1) <= Data_Byte (i);
konec vedení;
Bit_Count <= Bit_Count 1;
pokud Bit_Count = 10 pak
Bit_Count <= 0;
Data_Byte <= "1010010011";
end if;
end if;
end if;
end if;

ukončení procesu;
Behaviorální konce;
-------------------------------------------------- ------------------

Z těchto 10 bit stanovený formát 1010010011, jsem použil první a poslední bit jako start a stop bit.
Zbývajících 8 bit formát '01001001 'je binární kód' I '.Jsem komunikaci na přenosovou rychlostí 9600.
Ale problém je, že když jsem se komunikovat s HyperTerminal kit (Spartan-3A Starter Kit)
začíná Vysílání 'R' namísto 'I'.
Je zde něco špatně v tomto kódu.
Pokud někdo víte prosím řekni mi to.
Děkuju.

 
Vaše hodiny a počet výpočtů vypadat ok.

Jak se o své HyperTerminal nastavení portu?
I obvykle používají
datových bitů = 8
parity = none
stop bitů = 1
flow control = none

 
Já jsem za použití stejné konfiguraci pro nastavení portu.

 
zřejmě ur Vysílání "01010010", který je "R", je to coresponding na "0" a prvních 7 bitů vaší "1010010011", pls zkontrolujte počítání výpis znovu, budete maight začít vysílat na špatně počítat

 

Welcome to EDABoard.com

Sponsor

Back
Top