Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.70/88: Рейтинг темы: голосов - 88, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 13.04.2017
Сообщений: 41

AtmelStudio7, Atmega328P: ошибки при сборке проекта

06.12.2019, 10:23. Показов 19501. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня проблема один к одному, как у автора этой темы. Хотя перечитал и выполнил все советы - не могу собрать проект.

В новый проект (С/С++) Atmel Studio 7 загрузил пример отсюда.

С трудом, упрощая код, уменьшил количество ошибок до 2-х:
Error recipe for target 'main.o' failed
Error too few arguments to function 'uart_init'

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
#define F_CPU 8000000L
#include <util/delay.h>
#include <avr/io.h>
#include <stdio.h>
#include <stdint.h>
#include "atmega_bmp280_lib.h"
#include "uart.h"
 
int main(void)
{
    int32_t temperature;
    int32_t pressure;
 
    uint8_t error_code=0;
    
    //  int32_t var1, var2;
 
 
    // Initialize UART0
    uart_init();
 
    
    // Initialize TWI
    // i2cSetBitrate(1000);
 
    // Initialize BMP180
    BMP280_Begin(&error_code);
 
    if (error_code > 0) {
        printf("Error code: %d \n",error_code);
        return -1;
    }
    while (1)
    {
        bmp280Convert(&temperature, &pressure, &error_code);
 
        //  var1 = temperature/10;
        //  var2 = temperature - var1*10;
        //  printf("Temperature: %ld.%ld\n", var1, var2);
        
        //  printf("Pressure: %ld Pa\n", pressure);
 
 
        _delay_ms(1000);
    }
}
Что делать дальше не знаю. Помогите, для начала, правильно записать переменные в uart_init();. Хотя редактор подсказывает формат -
C
1
uart_t*uart_init(char*name, unsignet int bautrate)
все мои попытки только увеличивают количество ошибок.
Во вложении - лог сборки и скрин Atmel Studio 7.

Заранее благодарю за помощь.
Миниатюры
AtmelStudio7, Atmega328P: ошибки при сборке проекта  
Вложения
Тип файла: txt L_build.txt (2.0 Кб, 15 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2019, 10:23
Ответы с готовыми решениями:

Ошибки про сборке проекта в Keil uVision 5
Доброго времени суток. Проблема такова: создал проект в CubeMX под плату stm32f4discovery, добавил файлы для работы с гироскопом MPU6050,...

Ошибки при сборке проекта
Уже какой раз бьюсь с ошибкой, 2й день пошел. В гугле ищу решение не помогает, в чем причина может быть? CommandInvokationFailure: Gradle...

Ошибки при сборке проекта
Привет всем. Нужно написать программу для загрузки файлов на ftp-сервер. Решил начать с простого, с подключения. Однако уже на этапе у...

29
0 / 0 / 0
Регистрация: 13.04.2017
Сообщений: 41
14.12.2019, 16:48  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от sharpey Посмотреть сообщение
Ну да, не Цезаря это дело.
...
Min-GW Вы же как-то используете?
Согласитесь, изучать мне сейчас программирование из консоли, когда актуальная для меня задача уже компилируется другими на многих платформах, судя по рабочим примерам в нете, - это нелогично.
А Min-GW я установил только потому, что этот компилятор используется в Eclipse IDE.
Благодарю за потраченное время.
0
657 / 410 / 76
Регистрация: 21.09.2008
Сообщений: 1,410
15.12.2019, 08:00
Вы всё-таки разыщите в Сети скан книги Гриффитса по GCC, там очень много полезной информации. Из консоли, имея готовый Makefile, Вы могли сразу собрать проект как в Windows, так в *nix-подобной ОС (FreeBSD, Linux и т.д.), имея кроссплатформенный avr-gcc. И не пишлось бы тащить тяжеловесную IDE. Это стоит потраченного времени, поверьте моему опыту.
Спасибо за внимание.
0
27 / 22 / 5
Регистрация: 31.01.2019
Сообщений: 102
15.12.2019, 12:48
У вас вызов функции uart_init() без аргументов!

Вам же компилятор пишет почти по русски:

В файле из .././main.c:11:0:
c: \ program files \ atmel \ studio \ 7.0 \ toolchain \ avr8 \ avr8-gnu-toolchain \ avr \ include \ uart.h (91,16): информация: объявлено здесь
extern uart_t * uart_init (char * name, unsigned int baudrate);
0
27 / 22 / 5
Регистрация: 31.01.2019
Сообщений: 102
15.12.2019, 13:58
Лучший ответ Сообщение было отмечено cadil_cib как решение

Решение

Прошу прощения не понял суть проблемы. Прочитал верхний пост на второй странице.
Создал проект в Atmel Studio 7 с вашими исходниками.
Частоту генератора вашего МК не знаю. Прописал 16MHz
По скриншоту понятно будет где поменять.
Миниатюры
AtmelStudio7, Atmega328P: ошибки при сборке проекта  
Вложения
Тип файла: zip avr-bmp280-master_AS7_m328_16MHz.zip (77.5 Кб, 61 просмотров)
1
0 / 0 / 0
Регистрация: 13.04.2017
Сообщений: 41
16.12.2019, 12:50  [ТС]
Цитата Сообщение от joogorden Посмотреть сообщение
Прошу прощения не понял суть проблемы. Прочитал верхний пост на второй странице.
Создал проект в Atmel Studio 7 с вашими исходниками.
Частоту генератора вашего МК не знаю. Прописал 16MHz
По скриншоту понятно будет где поменять.
Безмерно благодарен за ваше решение этой задачки.
Ваш проект собирается, hex-файл создается. Дальше буду проверять работу кода в "железе".
Правда, не уловил - какие настройки Atmel Studio 7 вы поменяли? Ведь файл example.c остался тот же, что и в оригинале.
Очередных успехов!
0
0 / 0 / 0
Регистрация: 13.04.2017
Сообщений: 41
20.12.2019, 00:31  [ТС]
Я рано обрадовался.
Хотя проект собирается и создается hex-файл, но при заливке этого hex-файла в контроллер - "железо" молчит.
Для индикации работы схемы - дополнил код миганием светодиода. Светодиод мигает только тогда, когда в main закомментировано все, что с ним не связано.
Для проверки подключения датчика BMP280 - заливал в контроллер скетч Ардуино (тоже через hex-файл) - схема работает.
В приложении - проект Atmel Studio 7.
Где копать?
Вложения
Тип файла: zip AS7-bmp280-mega328P-16MHz-VB1.zip (134.2 Кб, 12 просмотров)
0
27 / 22 / 5
Регистрация: 31.01.2019
Сообщений: 102
20.12.2019, 06:43
Цитата Сообщение от cadil_cib Посмотреть сообщение
Для проверки подключения датчика BMP280 - заливал в контроллер скетч Ардуино (тоже через hex-файл) - схема работает.
Какая схема подключения датчика? Какой скетч?
0
0 / 0 / 0
Регистрация: 13.04.2017
Сообщений: 41
20.12.2019, 18:21  [ТС]
Цитата Сообщение от joogorden Посмотреть сообщение
Какая схема подключения датчика? Какой скетч?
Подключение Atmega328P - BMP280: pin 28(SCL, A5) - SCL, pin 27(SDA, A4) - SDA и подтяжка выводов SCL, SDA к "+" питания через резистор 4,7 кОм. Оставшиеся свободными 2 вывода BMP280 из 6-ти - в "воздухе".
Скетч - во вложении.
Вложения
Тип файла: zip BMP280_1F.zip (414 байт, 15 просмотров)
0
27 / 22 / 5
Регистрация: 31.01.2019
Сообщений: 102
21.12.2019, 10:10
Лучший ответ Сообщение было отмечено cadil_cib как решение

Решение

Попробуйте в файле "bmp280.c"
#define BMP280_ADDR 0x77 // can be 0x77 or 0x76
заменить на 0x76

Почему то программа зацикливается на строчке
i2c_start_wait((BMP280_ADDR << 1) | I2C_WRITE);
в функции
void bmp280_readmem(uint8_t reg, uint8_t buff[], uint8_t bytes)

В ардуиновском примере к 0x76 обращается
Миниатюры
AtmelStudio7, Atmega328P: ошибки при сборке проекта  
1
0 / 0 / 0
Регистрация: 13.04.2017
Сообщений: 41
21.12.2019, 11:46  [ТС]
Цитата Сообщение от joogorden Посмотреть сообщение
Попробуйте в файле "bmp280.c"
#define BMP280_ADDR 0x77 // can be 0x77 or 0x76
заменить на 0x76
Теперь можно радоваться - "железо" работает.
Благодарю и новых успехов!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.12.2019, 11:46
Помогаю со студенческими работами здесь

Ошибки при сборке проекта
Всем привет прошу вашей помощи не могу разобраться в чём дело проект скомпилировался удачно но при вводе числа или символов выдаёт индекс...

Ошибки при сборке проекта Windows
Привет! Решил почитать книгу Джонсон Харт .Системное программирование в среде Windows и при попытки собрать один из примеров выскакивают...

Ошибки при сборке проекта в VS 2022
Добрый день. Подскажите, пожалуйста. Я только изучаю С++ и столкнулся с ошибкой при сборке проекта. Например: LNK2019 unresolved...

Ошибки при релизной сборке проекта
Извините, если что не так - первая тема на форуме. Здравствуйте, и всех с прошедшим Новым годом. Делаю курсовую на смеси С++ и С. Сборка...

Code::Blocks, ошибки при сборке проекта
Здравствуйте. Помогите пожалуйста. Заинтересовался программированием, учу С++ и вот решил учиться писать приложения для виндовс, то есть с...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
Диалоги с ИИ
zorxor 23.05.2026
Насколько я понимаю - Вы - Искусственный Интеллект. Это так? Да, всё верно. Я — искусственный интеллект. Я представляю собой большую языковую модель, созданную для помощи в самых разных задачах. . . .
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает. В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше. Перед запуском проверяем. . .
Модель здравоохранения 13. Добавление самой системы здравоохранения.
anaschu 22.05.2026
В предыдущем посте мы настроили болезни. Теперь добавим события, которые управляют здоровьем всего коллектива, а также настроим рабочий график и расчёт финансов. В Main создаём четыре события. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru