forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
Char nebo Int na 16-bit MCU

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Microchip
 
Fano
Přispěvatel
Přispěvatel


Založen: 25.1.2012
Příspěvky: 26

PříspěvekZaslal: 17 červenec 2015, 15:33    Předmět: Char nebo Int na 16-bit MCU Citovat

Zdravím,

mám otázku zda při používání 16-bitových MCU mám používat int místo char. Jde o to, že chci udělat třeba cyklus for, kterému by stačila proměnná char ale 16-ti bitový procesor asi pracuje rychleji s Int proměnnými, že?

Jak mám pak dělat pole znaků (string) Měl bych dělat pole CHARů nebo INTů?

Kde používat char a kde int v 16-ti bitových procesorech?

Díky...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Martin
ATmega pouzivatel
ATmega pouzivatel


Založen: 5.1.2008
Příspěvky: 1495

PříspěvekZaslal: 19 červenec 2015, 16:38    Předmět: Citovat

16b MCU pracuje v zasade s 16b premennymi rovnako rychlo ako s 8b premennymi a 32b MCU v zasade s 32b premennymi rovnako rychlo ako so 16b a ako s 8b premennymi. Vsetko to zavisy od instrukcnej sady.

A keby aj 16b MCU ryhlejsie spracovaval 16b premenne, co na tom? Ved predsa ked 8b MCU rychlejsie spracuje 8b premennu ako 32b premennu, aj tak sa na spracovanie 32b premennej pouziva a casto sa este spara vacsinou casu nozickou v nose.

Inak to je jeden z hlavnych dovodov pouzia beznozickovych puzdier. Aby sa MCU nemal cim sparat v nose. Lebo dosledkom takej cinnosti sú BGA puzdra ktore maju na sebe hafo guliciek - z coho tieto su, sa uz iste pozorny citatel domyslel Smile

Ak mas dost RAM-ky, kludne nou plytvaj na ulozenie znaku do 16b premennej, ale nic tym neziskas.

No v zasade plati, ze na co potrebujes pole CHAR, pouzijes pole CHAR a na co pole INT, na to pouzijes pole INT. A na co potrebujes pole DOUBLE INT, na to pouzijes pole DOUBLE INT. Je jedno ci mas na doske 4bitovy alebo 64bitovy MCU.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Fano
Přispěvatel
Přispěvatel


Založen: 25.1.2012
Příspěvky: 26

PříspěvekZaslal: 20 červenec 2015, 7:16    Předmět: Citovat

Krásně vysvětlené..

Děkuju
Fano.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Mahoney
Profesionál
Profesionál


Založen: 26.12.2013
Příspěvky: 147

PříspěvekZaslal: 20 červenec 2015, 16:06    Předmět: Citovat

Až na to že nejde o to, jak s tím pracuje MCU, ale jak s tím pracuje překladač - a ten potřebuje vědět, co je jak dlouhý.

Používání datových typů dle C99 ( #include<stdint.h> ) se jeví býti více než vhodným, a člověk si nemusí lámat hlavu „jak to s tou délkou vlastně je”, protože to vidí hned.

https://en.wikibooks.org/wiki/C_Programming/C_Reference/stdint.h
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Fano
Přispěvatel
Přispěvatel


Založen: 25.1.2012
Příspěvky: 26

PříspěvekZaslal: 20 červenec 2015, 17:09    Předmět: Citovat

Dobrý nápad Smile

Jen asi bude chvíli trvat než se přeorientuju na makra Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Anonymní






PříspěvekZaslal: 20 červenec 2015, 19:00    Předmět: Citovat

Tak to jsi tu wikipedii asi špatně pochopil, makrem jsou definovány minimální a maximální hodnoty těch typů, jinak je to jen alternativní pohled na již existující typy

http://www.nongnu.org/avr-libc/user-manual/group__avr__stdint.html[/b]
Návrat nahoru
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Microchip Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2018 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)