Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Atmega AVR микроконтроллер Int i = PINE; Не обнуляется Регистр PINx http://www.cyberforum.ru/avr/thread2263184.html
В атмел студии присваиваю значение порта Е переменной i. Всё нормально. После установления на ножках порта другой комбинации нулей и едениц, при выполнении int i = PINE; к предыдущему значению...
Atmega AVR микроконтроллер Не подключается файл cpp в Атмел Студия 7
Добро дня! Создал проект из 4 файлов: main.h #ifndef MAIN_H_ #define MAIN_H_ #include "eeprom.h" #endif /* MAIN_H_ */
CodeVision AVR C работа с EEPROM Atmega AVR микроконтроллер
На железе не работает, в протеусе все ОК. Как только отключаю запись в eeprom на железе начинает работать. Подскажите плз. куда рыть? Голову уже сломал (((( #include <mega8.h> //...
Atmega AVR микроконтроллер Таймер на Atmega 8 с LED дисплеем Доброго времени суток. Пытаюсь собрать таймер с LED индикатором на восьмой атмеге. Замысел такой в нулевом таймере крутится динамическая индикация и опрос кнопок, а непосредственно отсчёт 1 секунды... http://www.cyberforum.ru/avr/thread2261447.html
Atmega AVR микроконтроллер Разработать устройство для хранения массива данных http://www.cyberforum.ru/avr/thread2261391.html
требуется разработать устройство, которое реализует следующие функции: - хранит массив m однобайтных двоичных чисел, -числа меньше 99(десятичной системы) преобразует в asc II код и выводит в порт...
Atmega AVR микроконтроллер Как проверить МК на пригодность?
Итак, имею девайс Atmega32. Например, пишу прогу на использование всех 4 каналов ШИМ. В протеусе работает все замечательно, в железе работает только три из четырех. Пишу прогу, которая будет...
Assembler AVR RISC Atmega AVR микроконтроллер
Друзья привет! Друг столкнулся с проблемой, в ВУЗЕ просят написать программу на языке Assembler, но увы, я его не знаю, прошу у вас помощи. Микроконтроллер - avr risc требуется разработать...
Atmega AVR микроконтроллер Разработать устройство которое реализует поставленную задачу Требуется разработать устройство, которое находит среди m хранящихся в памяти двоичных чисел и сохраняет в отдельном массиве числа, лежащие в заданных пределах. микроконтроллер AVR - RISC AT90S8515 http://www.cyberforum.ru/avr/thread2260002.html
Atmega AVR микроконтроллер ATTiny2313 и микросхема памяти at24c512 http://www.cyberforum.ru/avr/thread2259740.html
Привет знатокам, может кто поможет! Необходимо наладить 2wire интерфейс через стандартный USI. Уже измучился не получается обмен данными между устройствами по TWI. года 2 назад пытался наладить...
Atmega AVR микроконтроллер Прием и передача данных через UART интерфейс. Atmega32A Итак, написал очень простой код для МК мега32. #define F_CPU 12000000UL #define BAUDRATE 9600 #include <avr/io.h> #include <avr/interrupt.h> #include <avr/delay.h> #include "libs/LCD.h" ... http://www.cyberforum.ru/avr/thread2259681.html
ДМ12
0 / 0 / 0
Регистрация: 26.10.2016
Сообщений: 10
0

Ошибки и предупреждения при компиляции проекта для Attiny2313 в Atmel Studio 7.0

13.06.2018, 13:18. Просмотров 570. Ответов 1
Метки (Все метки)

Всем привет.И сразу к сути.У меня написана программа которая должна выводить текст на светодиодах.
Когда я создаю простой файл в atmel и вставляю в него свой код то ошибок нету ,но когда я создаю проект для микроконтроллера ATtiny 2313 и вставляю в него написанную программу то при компиляции возникает 3 ошибки и 4 предупреждения,я не могу понять почему так происходит,может кто нибудь сталкивался с подобной проблемой и нашел решение.
Заранее благодарю если подскажете решение хотя бы частично.
Вот программа:
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include <avr/io.h>      // this contains all the IO port definitionsсодержит все определения портов ввода-вывода
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
 
void delay_ms( uint16_t milliseconds)
{
   for( ; milliseconds > 0; milliseconds--)
   {
      _delay_ms( 1);
   }
} 
 
 
#define TIMER1_PRESCALE_1 1
#define TIMER1_PRESCALE_8 2
#define TIMER1_PRESCALE_64 3
#define TIMER1_PRESCALE_256 4
#define TIMER1_PRESCALE_1024 5
 
// We use these macros because binary constants arent always supported. ugh.Мы используем эти макросы, потому что бинарные константы arent всегда поддерживаются. тьфу.
#define HEX__(n) 0x##n##UL
#define B8__(x) ((x&0x0000000FLU)?1:0)  \
               +((x&0x000000F0LU)?2:0)  \
               +((x&0x00000F00LU)?4:0)  \
               +((x&0x0000F000LU)?8:0)  \
               +((x&0x000F0000LU)?16:0) \
               +((x&0x00F00000LU)?32:0) \
               +((x&0x0F000000LU)?64:0) \
               +((x&0xF0000000LU)?128:0)
#define B8(d) ((unsigned char)B8__(HEX__(d)))
 
// store all the image data in program memory (ROM)хранить все данные изображения в памяти программы (ПЗУ)
// instead of RAM (the default)// вместо ОЗУ (по умолчанию)
const uint8_t large_image[] PROGMEM = {
 
  B8(00000000), // d
  B8(00111100),
  B8(00100100),
  B8(00111111),
  B8(00000000),
 
  B8(00000000),  // i
  B8(00111101),
  B8(00000000),
 
  B8(00000000),  // g
  B8(10111100),
  B8(10100100),
  B8(11111100),
  B8(00000000),
 
  B8(00000000),  // g
  B8(10111100),
  B8(10100100),
  B8(11111100),
  B8(00000000),
 
  B8(00000000),
  B8(00000000),
  B8(00000000),
  B8(00000000),
  B8(00000000),
  B8(00000000),
};
 
// special pointer for reading from ROM memoryспециальный указатель для чтения из памяти ПЗУ
PGM_P largeimage_p PROGMEM = large_image;
 
#define NUM_ELEM(x) (sizeof (x) / sizeof (*(x)))
int imagesize = NUM_ELEM(large_image);
 
// this function is called when timer1 compare matches OCR1Aэта функция вызывается, когда timer1 сравнивает совпадения с OCR1A
uint8_t j = 0;
SIGNAL( SIG_TIMER1_COMPA ) {
  if (j >= imagesize) 
    j = 0;
 
  // read the image data from ROMчтение данных изображения из ПЗУ
  PORTB = pgm_read_byte(largeimage_p + j); 
 
  j++;
}
 
int main(void) {
 
  DDRB = 0xFF;       // set all 8 pins on port B to outputsустановите все 8 контактов на порту B на выходы
 
  /*
    частота переполнения прерывания определяется 
    делителем и значением переполнения.
    частота = тактовая частота / (2 * делитель * значение переполнения)
    где делитель может быть 1, 8, 64, 256 или 1024
    тактовая частота-8 МГц
    и значение переполнения это 16бит
 
    переливной значение помещается в OCR1A, в масштабирования находится в TCCR1B
    так например:
    Хорошая частота POV составляет около 400 Гц
    Желаемая частота = 400гц
    часы freq(частоты) = 8 МГц
    8MHz / (400Hz * 2) = 10000
    с 10000 меньше, чем 655536 (большой 16 разрядное число)
    OCR1A = 10000 и делитель 1
  */
  /*
    the frequency of the interrupt overflow is determined by the 
    prescaler and overflow value.
    freq = clock_frequency / ( 2 * prescaler * overflow_val)
    where prescaler can be 1, 8, 64, 256, or 1024
    clock_freq is 8MHz
    and overflow_val is 16bit
 
    the overflow value is placed in OCR1A, the prescale is set in TCCR1B
    so for example:
    A good POV frequency is around 400Hz
    desired freq = 400Hz
    clock freq = 8MHz
    8MHz / (400Hz * 2) = 10000
    since 10000 is less than 655536 (largest 16 bit number)
    OCR1A = 10000 and the prescale is 1
  */
 
  TCCR1B = (1 << WGM12) | TIMER1_PRESCALE_1;
  OCR1A = (uint16_t)10000;
 
  TIMSK |= 1 << OCIE1A;   // Output Compare Interrupt Enable (timer 1, OCR1A) По результату сравнения прерываний (Таймер 1,OCR1A) 
 
  sei();                 // Set Enable InterruptsУстановить Включить Прерывания
 
  while (1);
}
Ошибка первая:
Severity Code Description Project File Line
Error recipe for target 'main.o' failed шняга c:\users\demen\Documents\Atmel Studio\7.0\шняга\шняга\Debug\Makefile 79
Ошибка вторая:
Severity Code Description Project File Line
Error variable 'largeimage_p' must be const in order to be put into read-only section by means of '__attribute__((progmem))' шняга c:\users\demen\Documents\Atmel Studio\7.0\шняга\шняга\main.c 76
Ошибка третья:
Severity Code Description Project File Line
Warning 'SIG_TIMER1_COMPA' appears to be a misspelled signal handler, missing __vector prefix [-Wmisspelled-isr] шняга c:\users\demen\Documents\Atmel Studio\7.0\шняга\шняга\main.c 83
Предупреждение первое:
Severity Code Description Project File Line
Warning #warning "F_CPU not defined for <util/delay.h>" [-Wcpp] шняга c:\program files (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h 92
Предупреждение второе:
Severity Code Description Project File Line
Warning #warning "This header file is obsolete. Use <avr/interrupt.h>." [-Wcpp] шняга c:\program files (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\signal.h 36
Предупреждение 3:
Severity Code Description Project File Line
Error attempt to use poisoned "SIG_TIMER1_COMPA" шняга c:\users\demen\Documents\Atmel Studio\7.0\шняга\шняга\main.c 83
Предупреждение 4:
Severity Code Description Project File Line
Error recipe for target 'main.o' failed шняга c:\users\demen\Documents\Atmel Studio\7.0\шняга\шняга\Debug\Makefile 79

Добавлено через 14 минут
Вот прога,попробуйте у себя,там будет строка и те же ошибки:

Вернуться к обсуждению:
Ошибки и предупреждения при компиляции проекта для Attiny2313 в Atmel Studio 7.0
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2018, 13:18
Готовые ответы и решения:

Таймер в CTC режиме (ATTiny2313, Atmel Studio 6)
Пытаюсь запустить таймер 1 в CTC режиме. Таймер не останавливается на нужном пороге. Atmel Studio...

Atmel Studio 6. Ошибки при попытке собрать проект.
Собственно, имеется два файла: DS1307_lib.h и DS1307_lib.cpp DS1307_lib.h #ifdef DS1307_H...

Ошибки при компиляции проекта
Использую MPLAB X IDE v1.10. Создал проект (благо инфы как это сделать много в нете). Листинг...

Открытие проекта в Atmel Studio
Я раньше работал в CodeVisionAVR, а тут нашел пример программы для работы с дисплеем 12864....

Создание проекта на FreeRTOS в Atmel Studio 7
Всем привет! Проект для контроллера ATMiko1284 с 16Кб оперативки на борту. Делал по этой статье,...

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