Технический форум по робототехнике.
Myp » 27 мар 2008, 22:34
а что такое "спагетти код"???
Vooon » 27 мар 2008, 22:46
Myp писал(а):а что такое "спагетти код"???
а что
выделить текст -> правая кнопка мыши -> Искать в Google ...такая сложная последовательность?
ладно уж, приведу первую же ссылку:
[[w:ru:Спагетти-код]]
avr123.nm.ru » 27 мар 2008, 23:35
rig » 28 мар 2008, 01:10
хорош авровским языком говорить.
помнитца в школе на инфоматике имено так и получалась программа. и выглядела очень логично. Давеча пришлось по хелпу искать оператор гоуту для си в кодевижене, постарел
Vooon » 28 мар 2008, 01:27
нет, меня просто напрягает нежелание заглянуть хотя бы на первую страничку поисковика
особенно учитывая что в лисе и запрос можно не писать.
а спагетти-код все равно не одобряю - разве большого труда стоит поставить таб
или воспользоваться редактором который помогает придерживаться какого-либо стиля
например vim - вещь!
PS: чем нравится питон - в нем чтобы спагетти получить нужно еще постараться
- Код: Выделить всё • Развернуть
class Post(models.Model):
author = models.ForeignKey(User, related_name='posts')
name = models.CharField(_(u'Name'), max_length=settings.NAME_LENGTH)
slug = models.SlugField(_(u'Slug'), max_length=settings.NAME_LENGTH, blank=True, prepopulate_from=('name', ))
teaser = models.TextField(_(u'Post teaser'), blank=True)
text = models.TextField(_(u'Text'))
render_method = models.CharField(_(u'Render method'), max_length=15, choices=RENDER_METHODS, default=settings.RENDER_METHOD)
html = models.TextField(_(u'HTML'), editable=False, blank=True)
date = models.DateTimeField(_(u'Date'), default=datetime.now)
is_draft = models.BooleanField(verbose_name=u'Post would act as draft', default=False)
is_featured = models.BooleanField(verbose_name=u'Featured post', default=False)
enable_comments = models.BooleanField(default=True)
tags = TagField()
comments = generic.GenericRelation(CommentNode)
pingbacks = generic.GenericRelation(Pingback)
all_objects = PostManager()
objects = PublicPostManager()
featured_objects = FeaturedPostManager()
class Admin:
list_display = ('name', 'date', 'author', 'enable_comments', 'comments_open', 'is_draft', 'view_link')
search_fields = ('name', 'text')
list_filter = ('date', )
fields = (
(None, {'fields': ('author', ('name', 'slug'), 'tags', 'text', 'render_method', 'date', ('is_draft', 'enable_comments'))}),
('Featured post', {'classes': 'collapse', 'fields': ('is_featured', 'teaser')}),
)
if (settings.WYSIWYG_ENABLE):
js = (
settings.STATIC_URL + 'js/jquery.js',
settings.STATIC_URL + 'js/wymeditor/jquery.wymeditor.pack.js',
'/blog/wysiwyg_js'
)
class Meta:
db_table = 'blog_post'
ordering = ['-date']
get_latest_by = 'date'
Duhas » 28 мар 2008, 02:02
рас уж тут про код то
а зачем понимать рекурсию ? ))
а ты не понимаеш рекурсию? тогда ее нужно понять! <V>
maksvp » 28 мар 2008, 09:57
Исзвиняюсь за свой ужасный С.
но дымаю в такой махонькой програмулине это не критично, а то прям камнями завалили )))) В макетку у меня впаян кварц на 6 мегагерц, так что плясать мне по идее надо от этой частоты. а прогу написал на 1 МГц и тестил ее в VMLABe для того чтобы опредилить количество тактов на выполнение операции ведь при частоте 1 МГц 1 такт это как раз 1 микросекунда )))
Duhas » 28 мар 2008, 10:17
кака бы ни была прога, она должна быть красивой и на асме )))))
рекурсию не нужно понимать, ею нужно орудовать...
помните метод вычисления определителя матрицы минорами? вот я на первом курсе все горел желанием написать на косвенной рекурсии пересчет этим методом... вопщем тренирвки использования рекурсии мне тогда хватило, но так и не доделал ибо стало лень мучаться и придумывать структуру входных данных одной изфункций (А давайте питон, рекурсию и прочие высокие материи обсуждать в личке?
Вот такой я строгий
<Digit>
Myp » 28 мар 2008, 13:45
Vooon писал(а):Myp писал(а):а что такое "спагетти код"???
а что
выделить текст -> правая кнопка мыши -> Искать в Google ...такая сложная последовательность?
а у меня яндекс
нелюблю я ваши гуглы шмуглы
я туда тока посылаю
а для души я яндекс
использую
и вобще
номаный у меня код
я когда всё работает оптимизированием занимаюс
чтоб всё понятно было...
maksvp » 28 мар 2008, 15:21
Ладно рекруссия шмекруссия
вот что я наваял при помощи ВМЛАБа и кодвижна
- Код: Выделить всё • Развернуть
#include <mega32.h>
int i=2;
void delay(int x)
{
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
#asm("nop")
while(x>0)
{
#asm("nop")
x--;
};
}
void main(void)
{
PORTA=0x01;
DDRA=0x01;
while (1)
{
PORTA.0=0;
delay(i);
PORTA.0=1;
delay(i);
};
}
Суть сией функции в том, что при частоте 6МГц и i=0 пауза составляет 10 микросекунд, каждое увеличение числа i на один прибавляет к паузе еще 5 микросекунд, тоесть допустим при i=1 пауза 15 мкс, при i=2 20 мкс, при i=3 25 мкс. ну и т.д. Предупреждаю на счет комментариев в программе (их отсутствия), да я знаю что комменты полезны и нужны
, да я знаю что без них через неделю фиг разберешь что сам написал
. НО! прога маленькая и вем думаю с первого взгляда понятно что собсно она делает, а время на них тратить неохота.
PS теперь это не спагетти код?
avr123.nm.ru » 30 мар 2008, 13:46
Наваял тут проэктик один на ATTiny2313 - для исключения максимального количества ошибок на этапе
разработки долго думал какой бы отладчик заюзать. Proteus и VMLAB - не поддерживает ATTiny2313 , отладчик AVRStudio некорректно ведёт себя именно с этим узлом - модулем UART. А в отладчике AB всё бы хорошо... но там нельзя указывать содержимое байта который нужно передать.
В кратком курсе всем советую :
Выбирайте ТОТ МК для работы с которым у вас есть ИНСТРУМЕНТЫ !!! Вобщем что посоветуете ? Ну кроме как перейти на др МК?
Попробоуйте "AVR симулятор IDE" - можно найти на заглавной странице курса. Я его использовал и для тини13 и для меги48 а лекарство на cracks.am ищется просто.
Последний раз редактировалось
Myp 30 мар 2008, 14:11, всего редактировалось 1 раз.
Причина: размерчик подправил
Кирилл » 05 апр 2008, 21:21
подключаю мегу16 к ЦАП по SPI. собсно ЦАПу надо от контроллера MOSI, SCK и простой порт вывода. так вот можно ли во время работы SPI использовать MISO как простой порт вывода?
Duhas » 06 апр 2008, 12:56
ооочень очень врятли.. хотя он вроде как юзер дефайнед значится в режиме мастера...
avr123.nm.ru » 06 апр 2008, 20:03
CodeVisionAVR v1.25.9 с лекарством (2218 KB)
h-----p://rs208.rapid потом share.com/files/98530938/cvavr.zip
Как с ним работать - можно найти в начале этого топика.
Master » 07 апр 2008, 13:15
Хочу задавать ШИМ равным преобразованию АЦП, корректна ли такая запись?
OCR1BH=ADCH;
OCR1BL=ADCL;
Я эти строки сунул в обработчик прерывания АЦП, но протеус нифига не симулирует то ли это он глючит, то ли мощности компа не хватает (селерон 2,4 ггц, 512 рама).
Потому что у меня ничего не меняется в режиме онлайн, но если вначале задать потенциометром значение шим, а потом запустить таймер все ОК.