Ниже приведена часть кода C++ определяющая структуру и обединение работающего на i286 как заставить работать этот код под Keil
// Структура времени в микросхеме
struct _H10_{
unsigned char H_10:2;
unsigned char PM_AM:2 ; //PM -1 AM -0
};
//----------
struct _Cd_ {
unsigned char HOLD:1;
unsigned char BUSY:1; // only read
unsigned char IRQ_F:1;
unsigned char _30sec_adj:1;
};
//----------
//----------
struct _Ce_ {
unsigned char MASK:1;
unsigned char ITRPT_STND:1;
unsigned char t0:1;
unsigned char t1:1;
};
//----------
//----------
struct _Cf_ {
unsigned char REST:1;
unsigned char STOP:1;
unsigned char T24_12:1;
unsigned char TEST:1;
};
//----------
struct time_M6243B {
unsigned char S_1:4 ; //
unsigned char S_10:4 ;
unsigned char MI_1:4 ;
unsigned char MI_10:4 ;
unsigned char H_1:4 ;
union H10 {
struct _H10_;
unsigned char H10:4; <- тут выдает ошибки : ;
};
unsigned char D_1:4;
unsigned char D_10:4;
unsigned char MO_1:4;
unsigned char MO_10:4;
unsigned char Y_1:4;
unsigned char Y_10:4;
unsigned char W:4; //0 неделя 1 - понедельник
union Cd{ <- тут выдает ошибки : ;
struct _Cd_;
unsigned char Cd:4;
};
union Ce{ <- тут выдает ошибки : ;
struct _Ce_;
unsigned char Ce:4;
};
union Cf{ <- тут выдает ошибки : ;
struct _Cf_;
unsigned char Cf:4;
};
};
//----------
Структуры и обединения данных в Keil
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Структуры и обединения данных в Keil
Битовое поле является частью описания структуры.
Напишите просто
В противном случае надо создать структуру H10.
Напишите просто
Код: Выделить всё
union H10 {
struct _H10_;
unsigned char H10;
};В противном случае надо создать структуру H10.
Re: Структуры и обединения данных в Keil
Ничего не получилось
Вот кусок
37 struct time_M6243B {
38 unsigned char S_1:4 ; //
39 unsigned char S_10:4 ;
40 unsigned char MI_1:4 ;
41 unsigned char MI_10:4 ;
42 unsigned char H_1:4 ;
43
44
45 union H10 {
46 struct _H10_;
47 unsigned char H10:4;
48 };
assembling STARTUP.A51...
compiling main.c...
TC_M6242.h(46): error C141: syntax error near ';'
TC_M6242.h(48): error C141: syntax error near '}'
TC_M6242.h(50): error C129: missing ';' before ':'
Target not created
Вот кусок
37 struct time_M6243B {
38 unsigned char S_1:4 ; //
39 unsigned char S_10:4 ;
40 unsigned char MI_1:4 ;
41 unsigned char MI_10:4 ;
42 unsigned char H_1:4 ;
43
44
45 union H10 {
46 struct _H10_;
47 unsigned char H10:4;
48 };
assembling STARTUP.A51...
compiling main.c...
TC_M6242.h(46): error C141: syntax error near ';'
TC_M6242.h(48): error C141: syntax error near '}'
TC_M6242.h(50): error C129: missing ';' before ':'
Target not created
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Структуры и обединения данных в Keil
Открывающиеся скобки есть, закрывающихся нет. Так и должно быть ?
Re: Структуры и обединения данных в Keil
Аlex писал(а):Открывающиеся скобки есть, закрывающихся нет. Так и должно быть ?
Все получилось - пример кода:// Структура времени в микросхеме
struct t_H10_{
unsigned char H_10:2;
unsigned char PM_AM:2 ; //PM -1 AM -0
};
union mmH10 {struct t_H10_ _H10_; //создали структуру
unsigned char H10:4;
};
typedef union mmH10 mH10;
//----------
struct t_Cd_ {
unsigned char HOLD:1;
unsigned char BUSY:1; // only read
unsigned char IRQ_F:1;
unsigned char _30sec_adj:1;
};
union mmCd{
struct t_Cd_ _Cd_;
unsigned char Cd:4;
};
typedef union mmCd mCd;
//----------
//----------
struct t_Ce_ {
unsigned char MASK:1;
unsigned char ITRPT_STND:1;
unsigned char t0:1;
unsigned char t1:1;
};
union mmCe{
struct t_Ce_ _Ce_;
unsigned char Ce:4;
};
typedef union mmCe mCe;
//----------
//----------
//----------
struct t_Cf_ {
unsigned char REST:1;
unsigned char STOP:1;
unsigned char T24_12:1;
unsigned char TEST:1;
};
union mmCf{
struct t_Cf_ _Cf_;
unsigned char Cf:4;
};
typedef union mmCf mCf;
//----------
struct time_M6243B{
unsigned char S_1:4 ; //
unsigned char S_10:4 ;
unsigned char MI_1:4 ;
unsigned char MI_10:4 ;
unsigned char H_1:4 ;
//
mH10 H10; //создали структуру
unsigned char D_1:4;
unsigned char D_10:4;
unsigned char MO_1:4;
unsigned char MO_10:4;
unsigned char Y_1:4;
unsigned char Y_10:4;
unsigned char W:4; //0 неделя 1 - понедельник
//
mCd Cd; //создали структуру
//
mCe Ce; //создали структуру
//
mCf Cf; //создали структуру
};
//----------