ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
22 ноября
431906 Топик полностью
rezident (11.08.2013 04:11 - 04:14, просмотров: 145) ответил mazur на Есть в WinAVR настройка, чтобы после ресета обнулялась вся ОЗУ? Или для этого свою функцию нужно писать?
Все глобальные (global) и статические (static) переменные обычно попадают в секцию, которая автоматически очищается (инициализируется нулями) еще до выполнения main, если только они не объявляются одновременно с инициализацией их явными значениями. Локальные (auto) и регистровые (register) переменные автоматически не инициализируются какими-то определенными значениями, если только они не объявляются с одновременной инициализацией их явными значениями. Пример. int a; unsigned int b = 1; void main (void) { int c, d = 2; static int e = 3, f; ... } Переменные a и f будут инициализированы нулями. Переменная b будет инициализирована значением 1, а e - значением 3. Значение переменной c будет неопределенным. Значение переменной d будет равно 2 в том месте, где она будет впервые использована. Специальной функции очистки всего ОЗУ нет, но можно написать свою и запускать ее до выполнения main.