- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
void Read_Ri( int hARINC,unsigned short int *Data ,int *i16,int *i15,int *i14,
int *i13,int *i12,int *i11,int *i10,int *i9,int *i8,int *i7,int *i6,int *i5,int *i4,int *i3,int *i2,int *i1)
{
ioctl(hARINC,IOCTL_GET_RI,Data);
*i16=Data[0x1104]>>15&1; *i15=Data[0x1104]>>14&1; *i14=Data[0x1104]>>13&1;
*i13=Data[0x1104]>>12&1; *i12=Data[0x1104]>>11&1; *i11=Data[0x1104]>>10&1;
*i10=Data[0x1104]>>9&1; *i9=Data[0x1104]>>8&1; *i8=Data[0x1104]>>7&1;
*i7=Data[0x1104]>>6&1; *i6=Data[0x1104]>>5&1; *i5=Data[0x1104]>>4&1;
*i4=Data[0x1104]>>3&1; *i3=Data[0x1104]>>2&1; *i2=Data[0x1104]>>1&1; *i1=Data[0x1104]&1;
}
Фирма "Элкус" порадовала. Хорошо, что у их платы не 32-разрядные регистры :)
guest 05.04.2010 21:57 # +1.6
guest 05.04.2010 22:10 # 0
guest 06.04.2010 07:31 # 0
guest 06.04.2010 11:45 # 0
Dummy00001 06.04.2010 19:43 # +1
бит маски это слишком софтово. и так как все провода/контакты служат разным целям, то например в один массив их запихнуть нельзя по религиозным причинам. вот тебе и идеальное решение с 16ю переменными.
ЗЫ хотя электронщик бы с 0 начал перменные именовать.
whiskey 07.04.2010 07:20 # +1.4
void Set_Rm_Bits(unsigned short int *Data,int k4, int k3, int k2, int k1,int m4, int m3, int m2, int m1, int s , int t ,int e ,int m ,int r )
{
Data[0x1100]=((k4<<15)|(k3<<14)|(k2<<13)|(k1<<12)|\
(m4<<11)|(m3<<10)|(m2<<9)|(m1<<8)|(s<<7) |\
(t<<3)|(e<<2)|(m<<1)|(r));
}