ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
23 июня
1526005
IBAH (21.06.2025 12:47, просмотров: 1549)
Задался вопросом как правильней на КортексеМ 

дано

//
#pragma pack(push,1)
typedef struct
  {
  unsigned char Link              :1;       //0   
  unsigned char Speed100          :1;       //1   
  unsigned char Duplex            :1;       //2   
  unsigned char Konc              :1;       //3   Состояние концевика
  unsigned char En                :1;       //4   
  unsigned char Save              :1;       //5   
  }                              
  RegSost_t;                     
#pragma pack(pop) 


RegSost_t RegSost;               //Регистр состояния



//

Как правильнее

//
if((PORTA->IDR)&(GPIO_IDR_IDR5)) RegSost.Konc=!0; else RegSost.Konc=0; 
//или
RegSost.Konc=((PORTA->IDR)&(GPIO_IDR_IDR5));
//или
RegSost.Konc=!!((PORTA->IDR)&(GPIO_IDR_IDR5));

//

Какие еще варианты?