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

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

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

Author24 — интернет-сервис помощи студентам
Уважаемые господа программисты. Помогите мне пожалуйста . С паяльником я дружу с 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;
         
    }
      }
 
      
  }
  }
Миниатюры
Не могу понять почему выскакивает ошибка при компиляции программы для МК atmega8a  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2017, 14:31
Ответы с готовыми решениями:

Не могу справиться с проблемой. Выскакивает эта ошибка incompatible types. Не могу никак понять почему выскакивает
procedure qSort(var work: array of TWork; min, max: Integer); //ïðîöåäóðà áûñòðîé ñîðòèðîâêè ïî...

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

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

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

6
131 / 131 / 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
Сообщений: 5
20.04.2017, 15:15  [ТС] 3
А где его найти, я понимаю в интернетах , но разве любой подойдёт?
0
1176 / 653 / 111
Регистрация: 15.05.2012
Сообщений: 4,015
20.04.2017, 15:41 4
Взять в том самом
Цитата Сообщение от ГУЛЛИВЕР97 Посмотреть сообщение
В одном из видео
0
131 / 131 / 157
Регистрация: 11.04.2015
Сообщений: 343
20.04.2017, 22:41 5
Цитата Сообщение от ГУЛЛИВЕР97 Посмотреть сообщение
А где его найти, я понимаю в интернетах , но разве любой подойдёт?
ну тут есть два варианта, если в видео тоже написали
#include "time.h" то это паленка какая-то и любой не подойдет) но так как я вижу функцию srand(), то мне кажется что это обычный <time.h>
вот в архиве его прикрепляю
Вложения
Тип файла: rar time.rar (2.4 Кб, 3 просмотров)
0
1624 / 806 / 146
Регистрация: 13.06.2015
Сообщений: 3,266
21.04.2017, 02:21 6
Цитата Сообщение от ГУЛЛИВЕР97 Посмотреть сообщение
И поэтому я стал изучать видео-курс по программированию AVR.
Самое лучшее, с чего можно начать изучать МК - это книги (особенно 1й том) А.В.Фрунзе "Микроконтроллеры - это же просто!". Правда, там на примерах 8051, но разжёвано всё так, что потом переход с 8051 и с асма на Си займёт пару дней. А слепо что-то копировать, не понимая даже что ошибки означают - это не вариант вообще.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,522
21.04.2017, 07:14 7
Цитата Сообщение от ГУЛЛИВЕР97 Посмотреть сообщение
хочется научится что-то создавать своё, с нуля.
вот здесь несколько задач
1 изучить микроконтроллер
2 изучить язык программирования
микроконтроллер это ядро(АЛУ), память, периферия
язык это синтаксис, пунктуация, алгоритмы
3 изучить компилятор
как он компилирует, какая последовательность действий
и все это одновременно не пойдет
где глючит? программа неправильная? алгоритм не тот? неправильно сконфигурирован МК? неисправен сам МК? как узнать
вот здесь например явное непонимание что хочет компилятор, к камню не имеет никакого отношения

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

Удачи

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

Выскакивает ошибка и не могу понять как ее исправить
У меня выскакивает такая ошибка. Появлялась и до этого в Functions.h(не знаю как исправил, но...

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

Выскакивает ошибка, не могу понять в чём ошибка
class Program { static double GetMin(double a, double b) { ...

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

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

Выскакивает ошибка, не могу понять в чём ошибка.Даны действительные числа a, b. Получить: u=min(a,b), v=min(a*b,a+b), mi
class Program { static double GetMin(double a, double b) { ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru