реклама на сайте
подробности

 
 
> Keil. Не работает код, typedef struct
MySOL
сообщение May 11 2014, 13:41
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 17-06-12
Пользователь №: 72 370



Здравствуйте, товарищи! Прошу помочь разобраться в проблеме. Сам новичок и для написания программы решил разобраться в такой теме как "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
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- MySOL   Keil. Не работает код   May 11 2014, 13:41
- - Палыч   Вы забыли свою структуру где либо разместить (выде...   May 11 2014, 13:55
|- - MySOL   Цитата(Палыч @ May 11 2014, 17:55) Вы заб...   May 11 2014, 14:13
- - kolobok0   Цитата(MySOL @ May 11 2014, 17:41) .. Про...   May 11 2014, 14:00
- - KnightIgor   Кодtypedef struct type1 { uint8_t var1; ...   May 11 2014, 14:03
- - Golikov A.   когда вы объявляется my_str * str; str - это указ...   May 11 2014, 14:27
|- - MySOL   Цитата(Golikov A. @ May 11 2014, 18:27) ....   May 11 2014, 16:55
- - Golikov A.   Выравнивание - с этим ничего не сделаешь, с этим н...   May 11 2014, 17:02
|- - jcxz   Не очень понял как мешает выравнивание структуре ...   May 11 2014, 18:17
- - Golikov A.   да..., вот потому и хорошо даже для себя много раз...   May 11 2014, 18:49
|- - jcxz   Цитата(Golikov A. @ May 12 2014, 00:49) s...   May 11 2014, 19:20
- - Golikov A.   о том вроде и беседуем... Вы уверены что все про...   May 11 2014, 20:55
|- - jcxz   Хм... Я разве где-то подобное говорил?? Я вообще-т...   May 12 2014, 03:56
- - Golikov A.   Что-то я совсем потерялся.... Что в процах с 32 б...   May 12 2014, 04:40
|- - Сергей Борщ   Цитата(Golikov A. @ May 12 2014, 07:40) А...   May 12 2014, 06:07
|- - jcxz   Цитата(Golikov A. @ May 12 2014, 10:40) Ч...   May 12 2014, 07:01
- - Golikov A.   ЦитатаВы почему-то путаете не выровненный доступ C...   May 12 2014, 07:56
|- - jcxz   Цитата(Golikov A. @ May 12 2014, 13:56) Ч...   May 12 2014, 08:17
- - Golikov A.   Кодstruct __packed str { char A; char B; } ...   May 12 2014, 09:28
|- - jcxz   Да какое тут 32-битное выравнивание??? Кроме 32-би...   May 12 2014, 11:14
|- - Сергей Борщ   Цитата(Golikov A. @ May 12 2014, 12:28) ч...   May 12 2014, 11:18
- - Golikov A.   Ладно, сдаюсь... все всегда будет работать хорошо,...   May 12 2014, 11:42
- - Belikov_lp   Алгоритмы не пробовал добавлять?   May 18 2014, 03:42


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 07:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016