Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
typedef struct TimDat_tag {
unsigned char OCR;
unsigned int CntTimConst;
} TimDat;
union Tim_DATA_U {
TimDat T_set;
unsigned long int T_set_L;
};
union Tim_DATA_U TDataSet = {0,0};
char Nbit = 0;
и есть простой код:
for (unsigned long int i = 0; i < 20; i++)
{
TDataSet.T_set_L |= (1 << Nbit);
Nbit++;
}
Правильно работает только 16 бит, семнадцатый устанавливает все оставшиеся нули а 1.