Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 12.04.2017
Сообщений: 4
1

Не могу понять почему выскакивает ошибка при компиляции программы для МК atmega8a

19.04.2017, 14:31. Показов 933. Ответов 6
Метки нет (Все метки)

Уважаемые господа программисты. Помогите мне пожалуйста . С паяльником я дружу с 12 лет и восновном собирал иремонтировал транзисторные устройства. Но до неданего времени я узнал , что огромный потенциал открывают устройства под названием микроконтроллеры. И я очень внимательно стал изучать эту тему, и пришел к выводу, что на прошивках, которые делают другие пользователи далеко не уедешь, хочется научится что-то создавать своё, с нуля. И поэтому я стал изучать видео-курс по программированию AVR. В одном из видео было предложенно сделать самостоятельное задание( запрограммировать МК для того, чтобы было можно мигать светодиодами 3 мя портами, причем рандомно и с рандомным интервалом времени). Я постарался написать программу и при компилировании в Atmel Studio 6 у меня вылетает ошибка: Error time.h: No such file or directory
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
 //atmega8a
  #define  F_CPU 8000000
  #include <avr/io.h>
  #include <util/delay.h>
   #include <stdlib.h>
#include "time.h"
  
   
 ///////////////////////////////Настройка портов/////////////////////////////////////
  void  preset(){
      DDRB = 0xFF; // 0xFF = 0b11111111; PORTB - OUT  
      PORTB = 0X00; // 0X00 = 0b00000000; Default PORTB - Off
      DDRC = 0XFF;  // 0xFF = 0b11111111; PORTC - OUT 
      PORTC = 0X00; //0X00 = 0b00000000; Default PORTC - Off
      DDRD = 0XFF;// 0xFF = 0b11111111; PORTD - OUT 
      PORTD = 0X00; // 0X00 = 0b00000000; Default PORTD - Off
      
  }
 //////////////////////////////Случайное время задержки/////////////////////////////
 void delay (int i){
     switch ( i){
     case = 0:
     _delay_ms(100);
     break;
     case = 1:
     _delay_ms(50);
     break;
     case = 2:
     _delay_ms(25);
     break;
     default:
     _delay_ms(10);
     break;
     }
 }
 ////////////////////////Выбор случайного порта////////////////////
 void port_selected (int a){
     switch (a){
        case = 0:
       PORTB = 0xFF;
       break;
       case = 1:
       PORTC = 0XFF;
       break;
       case = 2:
       PORTD = 0XFF;
       break;
     }
 }
 
 
  int main(void)
  {
      srand(time(NULL));
      
  
  {
      preset();
      while(1)
      {
          int i=rand()% 3;
          int a=rand()% 3;
          port_selected(a);
          delay(i);
          i=rand()% 3;
          a=rand()% 3;
          
    ////////////////////ПортB//////////////////////////   
    {    
        // Убрать сигнал 
        PORTB = 0X00;
        // Выдержать паузу  
        _delay_ms(i);
        i=rand()% 3;
    }
    ///////////////////ПортC//////////////////////////   
    {    
         PORTC = 0X00;
         _delay_ms(i);
         i=rand()% 3;
    }
    
     /////////////////ПортD//////////////////////////
    {     
         PORTD = 0X00;
         _delay_ms(i);
         i=rand()% 3;
         
    }
      }
 
      
  }
  }
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Миниатюры
Не могу понять почему выскакивает ошибка при компиляции программы для МК atmega8a  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2017, 14:31
Ответы с готовыми решениями:

Выдает ошибку при компиляции. Не могу понять почему
Помогите с кодом. Я вижу что ошибка уровня самых низов но не могу понять все равно что тут не так....

Не могу понять почему при компиляции вылезает ещё один проект
Здравствуйте у меня есть код , почему-то при компиляции вылезает совершенно незнакомый код , в...

Почему выскакивает ошибка компиляции?
Подскажите пожалуйста, у меня есть программа, я пытаюсь в ней реализовать печать, так как описано...

Никак не могу понять почему идет ошибка при подсчете среднего значения
Вычислить среднее арифметическое кодов элементов отсортированного массива, имеющих индекс кратный...

6
130 / 130 / 157
Регистрация: 11.04.2015
Сообщений: 343
20.04.2017, 15:11 2
проблема заключается в том что твой заголовочный файл не найден,
- попробуй использовать #include <time.h>
- если не поможет тогда вручную скопируй этот файл в папку где лежат
#include <avr/io.h>
#include <util/delay.h>
0
0 / 0 / 0
Регистрация: 12.04.2017
Сообщений: 4
20.04.2017, 15:15  [ТС] 3
А где его найти, я понимаю в интернетах , но разве любой подойдёт?
0
966 / 593 / 97
Регистрация: 15.05.2012
Сообщений: 3,499
20.04.2017, 15:41 4
Взять в том самом
Цитата Сообщение от ГУЛЛИВЕР97 Посмотреть сообщение
В одном из видео
0
130 / 130 / 157
Регистрация: 11.04.2015
Сообщений: 343
20.04.2017, 22:41 5
Цитата Сообщение от ГУЛЛИВЕР97 Посмотреть сообщение
А где его найти, я понимаю в интернетах , но разве любой подойдёт?
ну тут есть два варианта, если в видео тоже написали
#include "time.h" то это паленка какая-то и любой не подойдет) но так как я вижу функцию srand(), то мне кажется что это обычный <time.h>
вот в архиве его прикрепляю
0
Вложения
Тип файла: rar time.rar (2.4 Кб, 3 просмотров)
1576 / 809 / 146
Регистрация: 13.06.2015
Сообщений: 3,084
21.04.2017, 02:21 6
Цитата Сообщение от ГУЛЛИВЕР97 Посмотреть сообщение
И поэтому я стал изучать видео-курс по программированию AVR.
Самое лучшее, с чего можно начать изучать МК - это книги (особенно 1й том) А.В.Фрунзе "Микроконтроллеры - это же просто!". Правда, там на примерах 8051, но разжёвано всё так, что потом переход с 8051 и с асма на Си займёт пару дней. А слепо что-то копировать, не понимая даже что ошибки означают - это не вариант вообще.
0
Модератор
Эксперт по электронике
8434 / 6270 / 845
Регистрация: 14.02.2011
Сообщений: 21,767
21.04.2017, 07:14 7
Цитата Сообщение от ГУЛЛИВЕР97 Посмотреть сообщение
хочется научится что-то создавать своё, с нуля.
вот здесь несколько задач
1 изучить микроконтроллер
2 изучить язык программирования
микроконтроллер это ядро(АЛУ), память, периферия
язык это синтаксис, пунктуация, алгоритмы
3 изучить компилятор
как он компилирует, какая последовательность действий
и все это одновременно не пойдет
где глючит? программа неправильная? алгоритм не тот? неправильно сконфигурирован МК? неисправен сам МК? как узнать
вот здесь например явное непонимание что хочет компилятор, к камню не имеет никакого отношения

рекомендую, хотя у других может быть другое мнение, начать с языка
ЯВУ(Язык Высокого Уровня) можно изучать и на большом компе, благо там все железо отлажено, и косяки могут быть только в программе
на этом форуме ветки Си и С++
потом взять отладочную плату, там косяков железных нет, и пробовать писать для неё
а потом уже своё создание схемы, разводка, и так далее

Удачи

Добавлено через 3 минуты
Цитата Сообщение от ГУЛЛИВЕР97 Посмотреть сообщение
case = 0:
Цитата Сообщение от ГУЛЛИВЕР97 Посмотреть сообщение
я стал изучать видео-курс по программированию AVR.
выбрось нафиг
такому научат
в языке Си эта конструкция пишется так
C
1
case 0:
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2017, 07:14

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Ошибка при запуске программы, не могу понять в чем дело
Ну что же, семпаи, прошу помочь и объяснить как обойти ошибку. Ниже приведу текст программы,...

не могу понять ошибок при компиляции
Доброе время суток. Нужна помощь в объяснении ошибок компиляции при возможности помощь в их...

При компиляции файла выскакивает неизвестная мне ошибка
Делаю свою первую серьёзную программу ( как я счетаю ) для брата .Ошибок в самом коде нету , но...

При компиляции нового (не измененного) проекта на движке Cocos2D выскакивает ошибка
error: There is no SDK with the name or path 'iphoneos' Из-за чего это может быть т как это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.