Например TDA7294

Форум РадиоКот • Просмотр темы - Заметки на полях
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Чт дек 18, 2025 22:54:40

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Заметки на полях
СообщениеДобавлено: Вс окт 02, 2022 12:42:32 
Собутыльник Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 433
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2556
Рейтинг сообщения: 0
Простой код.
Код:
int y = GPIOA->MODER;

int main()
{   
  printf("y=0x%08X",y); 
}
Как думаете, почему должно вывестись что-то типа "y=0x6A800000", а у Eddy_Em выведет "y=0x00000000"?

Собственно вопрос, где в программе выполняется инициализация значения y посредством считывания GPIOA->MODER?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заметки на полях
СообщениеДобавлено: Вс окт 02, 2022 14:36:58 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 164
Зарегистрирован: Ср авг 03, 2022 05:22:56
Сообщений: 848
Рейтинг сообщения: 0
Ну дак... это сработает только в C++ (в чистом Си будет сообщение об ошибке использования неконстантного инициализатора), при вызове (в самом конце) как раз той самой загадочной __libc_init_array, назначение которой напрягает многих. Поздравляю, конечно, что вы теперь тоже знаете, для чего нужен __libc_init_array, точнее говоря, static_initialization :)))

Изображение


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: jcxz, shalfey и гости: 20


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y