Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 17 сен 2019, 06:22

Часовой пояс: UTC + 3 часа [ Летнее время ]



Начать новую тему Ответить на тему  [ Сообщений: 220 ]  На страницу 1, 2, 3, 4, 5 ... 22  След.
Автор Сообщение
 Заголовок сообщения: Начинающим программировать в АБ
СообщениеДобавлено: 08 июн 2012, 17:14 
Не в сети
Аватара пользователя

Зарегистрирован: 12 фев 2012, 22:25
Сообщения: 74
Предлагаю бывалым и опытным пользователям АБ в этом топике написать что-то типа скрижалей или "10 заповедей" программирующим на АБ, в которых вы поделились бы своими правилами и высказали рекомендациями новичкам, для избежания типичных ошибок.

Ну например:
1. При написании программ нужно "забыть" про существование регистров R16 и R17 и не использовать их в коде программы. Их использует компилятор и будет нарушать логику вашей программы.
2. При написании программ обработки прерываний всегда вначале сохраняйте в стеке R16, R17, SREG, а в конце перед выходом из прерывания восстанавливайте их из стека.
3. При модификации двойных регистров X, Y и Z обязательно сохраняйте их значения в стеке и восстанавливайте после окончания работы с ними.
4. Помните, что в отличие от подпрограммы, пользовательские макросы занимают в памяти в N раз больше пространства, где N - количетсво обращений к этому макросу.
5. Шаблоны всех возможных команд среды есть в меню "Отображение"-"Шаблоны". Там есть мини справка и их прямо оттуда можно вставлять в программу
6. В качестве ключей-признаков, имеющих только два состояния "0" и "1" лучше использовать бит регистра, а не целый регистр или байт памяти
7. При отладке программы кроме стандартных окон можно следить за любыми переменными, счетчиками и регистрами по своему усмотрению через окно "Watches". Открывается в отладчике "Открыть"-"Watches"-#0 и потом нажать Ins.
и т.д.

Думаю что есть еще много полезных советов которые помогут сэкономить кучу полезнго времени новичкам на поиск проблемы или ошибки в работе алгоритма.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Начинающим программировать в АБ
СообщениеДобавлено: 08 июн 2012, 18:20 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3781
Откуда: Россия
Идея отличная и очень востребованная, :OK: но так как я, являюсь новичком, добавить к выше сказанному к сожалению пока нечего.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Начинающим программировать в АБ
СообщениеДобавлено: 09 июн 2012, 18:10 
Дам дельный совет начинаюшим билдерцам поскорее закончить с ним и пересесть на язык высокого уровня! Которых шас пруд пруди для аврок


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Начинающим программировать в АБ
СообщениеДобавлено: 09 июн 2012, 18:40 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3781
Откуда: Россия
iamstreetstyle писал(а):
Дам дельный совет начинаюшим билдерцам поскорее закончить с ним и пересесть на язык высокого уровня! Которых шас пруд пруди для аврок

Это совет профессионала знающего АВ в совершенстве или человека, который просто решил поумничать, а сам кроме одного языка не знает не чего? :-) Не вижу аргументов данного совета. ;)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Начинающим программировать в АБ
СообщениеДобавлено: 09 июн 2012, 19:08 
Это совет человека который просто решил поумничать :) нет даже так паумничить :) (Запрешенно умничить ? Писать с ошибками ? Красную тряпку на флагшток хочеш повесить ?)
Я знаю Pascal и СИ, а когдато и Basic но забыл напроч :)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Начинающим программировать в АБ
СообщениеДобавлено: 09 июн 2012, 19:14 
Хотя лучше сказать знаком с этими языками :)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Начинающим программировать в АБ
СообщениеДобавлено: 09 июн 2012, 19:29 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3781
Откуда: Россия
А Algorithm Builder Вы знаете? Похоже, что нет. Тогда как можно рассуждать о том чего не знаешь? Высококлассные программисты о любом языке не скажут, что он плох или самый лучший. Так как, смотря какая задача поставлена перед программистом, и тогда решается на чём лучше писать в данном конкретном случае. Так что Ваш аргумент (просто поумничать), принят. :-)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Начинающим программировать в АБ
СообщениеДобавлено: 10 июн 2012, 20:19 
Не в сети
Аватара пользователя

Зарегистрирован: 12 фев 2012, 22:25
Сообщения: 74
Тема какой из языков или сред программирования лучше, уже множество раз изъезжена и прожевана. И тем не менее, при любых точках зрения, в каждом из языков есть яркие и выразительные преимущества по сравнению с другими средами программирования. Обращаясь к iamstreetstyle могу 100% заявить, что при самом великолепном знании С++ есть вещи, которые Вы не сможете сделать в этой среде в отличие от АБ, и тем более в отличие от ассемблера. Если есть сомнения по этому высказыванию - могу прямо тут сформулировать такого рода задачу.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Начинающим программировать в АБ
СообщениеДобавлено: 06 авг 2012, 21:39 
Kolini писал(а):
Предлагаю бывалым и опытным пользователям АБ в этом топике написать что-то типа скрижалей или "10 заповедей" программирующим на АБ, в которых вы поделились бы своими правилами и высказали рекомендациями новичкам, для избежания типичных ошибок.

Это начальные правила.
Для написания сложных программ потребуются правила, с помощью которых можно легко и просто писать большие программы.
Тут можно предложить следующие правила:

1. Вводить удобочитаемые названия переменных. Здесь получается творчество, похожее на литературное.
Для отличия формата переменных удобно ввести префиксы. Стандартными префиксами будут следующие:
с_ - константа,
b_ - битовая переменная (редко используется),
flg_ - флаг,
p_ - вывод порта.
Часто к префиксу вывода порта удобно добавить число 0 или 1, показывающее, каким сигналом срабатывает устройство, подключенное к данному выводу порта.
Например, пусть к выводу порта подключен светодиод, показывающий пуск устройства, зажигается при подаче 0. Тогда согласно сказанному выше зажечь светодиод можно командой
0 -> p0_svd_PUSK
svd – стандартное сокращенное название светодиода.

2. Использовать стандартную библиотеку подпрограмм. Вот с этим, насколько я знаю, в АБ плохо, каждый создает сам по своему усмотрению. А подпрограммы значительно сокращают время разработки.

3. Минимальные действия в аппаратных прерываниях. Чаще всего при аппаратном прерывании устанавливается программный флаг, который затем обрабатывается основной программой в нужное время в нужном месте.

4. Исключать боковые выходы из подпрограмм.

Отдельный большой вопрос, как писать операционную систему на АБ.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Начинающим программировать в АБ
СообщениеДобавлено: 07 авг 2012, 08:28 
Не в сети
Аватара пользователя

Зарегистрирован: 09 сен 2011, 06:43
Сообщения: 308
Цитата:
Отдельный большой вопрос, как писать операционную систему на АБ.

операционную систему куда? на Atmega? это чота слишком... а так ОС пишется на болие высоких языках программирования, например С/С++....


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 220 ]  На страницу 1, 2, 3, 4, 5 ... 22  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB