0 / 0 / 0
Регистрация: 13.04.2017
Сообщений: 41

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

06.12.2019, 10:23. Показов 19770. Ответов 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 Кб, 18 просмотров)
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
658 / 411 / 76
Регистрация: 21.09.2008
Сообщений: 1,411
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru