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í

 
vyčtení bitu z byte

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Microchip
 
B0sc0
Profesionál
Profesionál


Založen: 28.1.2011
Příspěvky: 213
Bydliště: Absurdistán nebo Banánová republika

PříspěvekZaslal: 29 květen 2016, 12:41    Předmět: vyčtení bitu z byte Citovat

Zdravím,
budu přenašel pomocí UART byte, z takto načteného byte bych potřeboval vyčíst jednotlivé bity. Je to na nějáká funkce nebo přístup ve stylu DATA.0 nebo to lze jedině maskováním?
Děkuju

_________________
MPLAB + HI-TECH + PICKIT2
Zatím jenom amatér Smile a asi i navždy :-/
SMT technolog+vše okolo LED modulů
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
MiloPS3
Profesionál
Profesionál


Založen: 24.12.2008
Příspěvky: 882
Bydliště: LAZNE KYNZVART

PříspěvekZaslal: 29 květen 2016, 20:16    Předmět: Citovat

cau, muzes obojim , zalezi co si vyberes ..
_________________
PIC,ASM / C , Mplab + CCS C Compiler
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
B0sc0
Profesionál
Profesionál


Založen: 28.1.2011
Příspěvky: 213
Bydliště: Absurdistán nebo Banánová republika

PříspěvekZaslal: 29 květen 2016, 20:45    Předmět: Citovat

Já bych si vybral to DATA.0, ale nemůžu najít jak to napsat :-/ Používám HI-TECH a v manuálu jsem nic zatím nenašel
_________________
MPLAB + HI-TECH + PICKIT2
Zatím jenom amatér Smile a asi i navždy :-/
SMT technolog+vše okolo LED modulů
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
MiloPS3
Profesionál
Profesionál


Založen: 24.12.2008
Příspěvky: 882
Bydliště: LAZNE KYNZVART

PříspěvekZaslal: 29 květen 2016, 21:06    Předmět: Citovat

maskovani pres makro, HT to zrejme neumi,divny, CCS C na to ma prikaz a v ASMku to taky jde (HiTech nedelam)
_________________
PIC,ASM / C , Mplab + CCS C Compiler
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
B0sc0
Profesionál
Profesionál


Založen: 28.1.2011
Příspěvky: 213
Bydliště: Absurdistán nebo Banánová republika

PříspěvekZaslal: 30 květen 2016, 7:43    Předmět: Citovat

toho jsem se bál, ale nedá se svítit, holt to tak budu muset udělat. Díky
_________________
MPLAB + HI-TECH + PICKIT2
Zatím jenom amatér Smile a asi i navždy :-/
SMT technolog+vše okolo LED modulů
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
MiloPS3
Profesionál
Profesionál


Založen: 24.12.2008
Příspěvky: 882
Bydliště: LAZNE KYNZVART

PříspěvekZaslal: 30 květen 2016, 11:18    Předmět: Citovat

pomoci toho makra je to v pohode..
tet koukam ze sem dal jinej odkaz nez sem chtel , to by mel byt on
http://waihung.net/writing-code-for-pic-microcontrollers-in-c-hi-tech-c-compiler/

popripade si tam volzit kouset asmka a napsat si to v nem ..

_________________
PIC,ASM / C , Mplab + CCS C Compiler
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 705

PříspěvekZaslal: 30 květen 2016, 20:46    Předmět: Citovat

Můžeš to zkusit taky takhle :

kód:
typedef struct
{
    unsigned char B0:1;
    unsigned char B1:1;
    unsigned char B2:1;
    unsigned char B3:1;
    unsigned char B4:1;
    unsigned char B5:1;
    unsigned char B6:1;
    unsigned char B7:1;
} BAJT;


Pak si nadefinuješ :

kód:
BAJT Bity;


Pak k jednotlivým bitům můžeš přistupovat :
kód:
Bity.B0=1;
Bity.B1=0;
atd.


Nejsem si jistý pořadím jednotlivých bitů v "typedef" (B0->B7 nebo B7->B0).
Zápis celého bytu pak ale musíš provést přes memset :
kód:
  memset((void*)&Bity, <zapisovaná hodnota>, sizeof(Bity));


V programu se pak o maskování nemusíš starat, máš jednodušší zápis, o maskování se stará překladač.

Mám to použito v programu napsaným v AVR Studiu 4.19 + WinAVR.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 450

PříspěvekZaslal: 01 červen 2016, 20:18    Předmět: Citovat

Udělej to jak píše Balů a vylepši to tím, že tuhle strukturu dáš do unie s bytem. Vyhneš se tím použití memset.
_________________
x51 , ARM , XILINX
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
B0sc0
Profesionál
Profesionál


Založen: 28.1.2011
Příspěvky: 213
Bydliště: Absurdistán nebo Banánová republika

PříspěvekZaslal: 03 červen 2016, 9:34    Předmět: Citovat

Díky za rady, vyzkůšám Smile
_________________
MPLAB + HI-TECH + PICKIT2
Zatím jenom amatér Smile a asi i navždy :-/
SMT technolog+vše okolo LED modulů
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
 

 
Billy Bob Bean
Profesionál
Profesionál


Založen: 21.9.2009
Příspěvky: 254
Bydliště: OLOMOUC - BRNO

PříspěvekZaslal: 04 červen 2016, 8:56    Předmět: Citovat

kód:

union
{
   struct
   {
      unsigned    Bit0    :1;
      unsigned    Bit1   :1;
      unsigned   Bit2   :1;
      unsigned   Bit3   :1;   
      unsigned   Bit4   :1;
      unsigned   Bit5   :1;
      unsigned   Bit6   :1;
      unsigned   Bit7   :1;
   };
   unsigned char All;
}Byte;

Byte.All = variable;


Tady je bit struktura pro XC16, pořadí bitů sedí

_________________
Stavím UPSky


Naposledy upravil Billy Bob Bean dne 04 červen 2016, 17:30, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 705

PříspěvekZaslal: 04 červen 2016, 10:04    Předmět: Citovat

A nemělo by tam být unsigned char All místo unsigned int All ? Int je 16 bitů, char je 8 bitů.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Billy Bob Bean
Profesionál
Profesionál


Založen: 21.9.2009
Příspěvky: 254
Bydliště: OLOMOUC - BRNO

PříspěvekZaslal: 04 červen 2016, 17:30    Předmět: Citovat

Balů: Jo mělo by to tak být, chybička vznikla při přepisu...
_________________
Stavím UPSky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

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 © 2017 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)