Здравствуйте, товарищи! Прошу помочь разобраться в проблеме. Сам новичок и для написания программы решил разобраться в такой теме как "typedef struct", которая очень полезна при реализации различных интерфейсов (spi, ethernet и прочее). Написал простенькую программу, дабы протестировать и найти возможные подводные камни. Код следующий
Код
void f1(uint16_t *f1_var1);
typedef struct type1
{
uint8_t var1;
uint8_t var2;
} type1_t;
int __main(void)
{
type1_t *main_var;
main_var->var1 = 0xFF;
main_var->var2 = 0xFF;
f1((uint16_t*)main_var);
}
void f1(uint16_t *f1_var1)
{
*f1_var1 = *f1_var1>>1;
}
Суть программы заключается в формировании пакета данных, состоящего из двух наборов данных (в данном случае var1 и var2) формата uint8_t вызов функции, которая эти данные обрабатывает.
Проблема заключается в том, что данные 0xFF не записываются в var1 и var2. С чем это связанно не знаю. Тут значения переменных на этапах отладки
Прошу помочь с проблемой.
Сообщение отредактировал MySOL - May 11 2014, 13:42