Перейти к содержанию

BascomAVR вопрос к знатокам


толик васильев

Рекомендуемые сообщения

Всем здравия! Хотелось бы разобраться в подключении к основной программе файла, командой $include "My_file.bas", чтобы не делать код слишком громоздким и непонятным. То есть, не копировать куски кода с предыдущих проектов, а подключать их отдельным файлом. 

Словом, с подключением проблем нет, проблема с написанием файла, который нужно подключить. 

К примеру, недавно пытался подключить файл с куском кода управления семисегментным индикатором, где сегменты зажигаются командами "set A", "set B" и т.д. А в основном файле ноги мк переиминованы в что-то типа "A alias Portb.0", "B alias Portc.3" и т.д. Такая же беда была и с софтовым Uart, когда-то. Ругается в подключаемом файле  на порты ввода - вывода. С I2c все работало, а с Uart не хочет. Что я делаю не так? Или, как мне хочется, вообще не возможно сделать? 

P. S. Надеюсь, понятно объяснил ситуацию.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

21 минуту назад, толик васильев сказал:

Что я делаю не так?

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

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

А вот то же самое одним файлом. Полностью работает. 

Все подключаемые файлы в одной папке. Надеюсь, ничего не перепутал с прикрепленными файлами

169646

4 минуты назад, andrusha152 сказал:

И что это за файл? 

Безымянный.jpg

Архив.rar

Ссылка на комментарий
Поделиться на другие сайты

13 минут назад, andrusha152 сказал:

Повторяю вопрос. Что это за файл, в какой программе он создан, и какой программой его можно открыть.

  Показать контент

123456.jpg.b660f1b08663f809d013ec0b7de92ba6.jpg

 

Продублирую без архива 

Термометр - барометр - LED.bas Bmp180.bas 7_led.bas

А вот так все работает 

Термометр - барометр - LED(2).bas

Ссылка на комментарий
Поделиться на другие сайты

21 минуту назад, andrusha152 сказал:

Вот так скомпилировалось нормально.

7_led.bas 3 кБ · 2 загрузки

Что вы отредактировали? В чем была моя ошибка? 

Ссылка на комментарий
Поделиться на другие сайты

Только что, andrusha152 сказал:

Присвоение имён портам, к которым подключен индикатор, перенёс в файл 7_led.bas

Ага. Открыл с компа, а не с телефона и увидел. 

То есть, зауниверсалить файл под разные проекты уже не получится. В каждом новом проекте придётся в нем порты править. Печально

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

Ссылка на комментарий
Поделиться на другие сайты

Вам надо сначало назначить порты 

Спойлер


Config Scl = Portd.1
Config Sda = Portd.2

A Alias Portd.3
B Alias Portd.4
C Alias Portd.5
D Alias Portd.6
E Alias Portd.7
F Alias Portb.0
G Alias Portb.1
H Alias Portb.2
R_4 Alias Portb.3
R_3 Alias Portb.4
R_2 Alias Portb.5
R_1 Alias Portb.7

 

а потом подключать библиотеки

Спойлер

$include "Bmp180.bas"
$include "7_led.bas"

 

То есть если в основной библиотеке написать так

Спойлер

$regfile = "attiny88.dat"
$crystal = 16000000
$hwstack = 64
$swstack = 64
$framesize = 128

'$include "Bmp180.bas"
'$include "7_led.bas"

'vychisleniya
Dim Secunda As Byte


Config Portd.3 = Output
Config Portd.4 = Output
Config Portd.5 = Output
Config Portd.6 = Output
Config Portd.7 = Output
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Config Portb.5 = Output
Config Portb.7 = Output
Config Scl = Portd.1
Config Sda = Portd.2

A Alias Portd.3
B Alias Portd.4
C Alias Portd.5
D Alias Portd.6
E Alias Portd.7
F Alias Portb.0
G Alias Portb.1
H Alias Portb.2
R_4 Alias Portb.3
R_3 Alias Portb.4
R_2 Alias Portb.5
R_1 Alias Portb.7
$include "Bmp180.bas"
$include "7_led.bas"

то есть перенести подключение библиотек после назначения имен портам то компилируется нормально

Ссылка на комментарий
Поделиться на другие сайты

22 минуты назад, bulat943 сказал:

Вам надо сначало назначить порты 

  Скрыть контент


Config Scl = Portd.1
Config Sda = Portd.2

A Alias Portd.3
B Alias Portd.4
C Alias Portd.5
D Alias Portd.6
E Alias Portd.7
F Alias Portb.0
G Alias Portb.1
H Alias Portb.2
R_4 Alias Portb.3
R_3 Alias Portb.4
R_2 Alias Portb.5
R_1 Alias Portb.7

 

а потом подключать библиотеки

  Скрыть контент

$include "Bmp180.bas"
$include "7_led.bas"

 

То есть если в основной библиотеке написать так

  Скрыть контент

$regfile = "attiny88.dat"
$crystal = 16000000
$hwstack = 64
$swstack = 64
$framesize = 128

'$include "Bmp180.bas"
'$include "7_led.bas"

'vychisleniya
Dim Secunda As Byte


Config Portd.3 = Output
Config Portd.4 = Output
Config Portd.5 = Output
Config Portd.6 = Output
Config Portd.7 = Output
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Config Portb.5 = Output
Config Portb.7 = Output
Config Scl = Portd.1
Config Sda = Portd.2

A Alias Portd.3
B Alias Portd.4
C Alias Portd.5
D Alias Portd.6
E Alias Portd.7
F Alias Portb.0
G Alias Portb.1
H Alias Portb.2
R_4 Alias Portb.3
R_3 Alias Portb.4
R_2 Alias Portb.5
R_1 Alias Portb.7
$include "Bmp180.bas"
$include "7_led.bas"

то есть перенести подключение библиотек после назначения имен портам то компилируется нормально

Шикарно!!!! Браво!!!  

Спасибище!!! 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

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

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...