07.11.2010, 13:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от iIi_WARHEAD_iIi
|
первая выполняется за 4 такта, а вторая за 51.
А как можно на языке си то же написать в один такт, что и для асемблерного bcpl упоминавшегося на 1 странице?
|
У меня ровно так и получается. Я правда библиотеку уже переделал и работаю с выводами порта как с битовым полем. Пишу например PORTA0 = ~PORTA0;
Получаю
Код:
|
main.c:70 PORTA0 = ~PORTA0;
0x810c ‹main+11› 0x90105000 BCPL 0x5000,#0 |
Сообщение от iIi_WARHEAD_iIi
|
Существует ли в интернете описание для Cosmic, а то как не игрался с настройками, на выходе для простой функции инкремента получаю 4 или 7 тактов.
|
Ну смотря что инкрементировать. Вы примерчик прикрепите. Исходник + листинг. Просто если инкрементировать 8-ми битную переменную, то это 1 такт - работа идет прямо в памяти. А вот если 16 бит и более, то придется считывать в регистр и записывать обратно. Ес-но тактов потребуется значительно больше.
Сейчас попробовал для 8-ми битной переменной. Что с глобальной, что с локальной 1 такт.
Код:
|
// локальная
main.c:71 i++;
0x8110 ‹main+15› 0x0C0A INC (0x0a,SP) |
Код:
|
// глобальная
main.c:71 a++;
0x8110 ‹main+15› 0x725C0168 INC 0x0168 |
Последний раз редактировалось kison; 07.11.2010 в 13:27.
|
|
|
|
07.11.2010, 14:56
|
|
Частый гость
Регистрация: 07.11.2010
Сообщений: 14
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от kison
|
Сейчас попробовал для 8-ми битной переменной. Что с глобальной, что с локальной 1 такт.
|
Вот тут по неопытности моей так оно и будет.
Вместо 8 бит я думал, что применимо для 16бит так же будет ![Улыбка](images/smilies/icon_smile.gif)
Пример смысла кидать нету, пока разбираюсь с контроллером на уровне мигания светодиодом и ацп.
Не могли бы примерчик скинуть для порта. Как происходит инициализация.
Как раз пример напомнил об С51, все же привычней было так же писать.
|
|
|
|
07.11.2010, 15:16
|
|
Прописка
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
Re: Непонятна постановка вопроса
Сообщение от Gnider
|
Еще раз повторяю - пришли исходняк на Си он будет быстрее чем твой на АВР.А точность не знаю как вы считали. Если взять частоту выборки 1Мгц. то это период 1000нс. Если точность 1^10-6 то значит что надо обеспечить нестабильность периода в 0.001нс. Как вы этого добились?
|
1) Что-то я не пойму, вы что, не можете разобраться с семью командами, из которых четыре - команды сложения? На Си у меня такой программы нет и не было, кому ж придёт в голову писать на си, когда каждый такт на счету. На асме уже 10 тактов, на си будет больше по определению. Программу на асме смотрите в посте #200.
2) Насчёт точности. Ещё раз, нестабильность определяется кварцем. Если его относительная нестабильность 1^10-6, значит, нестабильность порождаемых процессов тоже 1^10-6. Вам бы начала гармонического анализа освежить ![Весело](images/smilies/icon_laugh.gif) .
3) На форуме не принято панибратство, давайте обойдёмся без него.
|
|
|
|
07.11.2010, 15:29
|
|
Частый гость
Регистрация: 07.11.2010
Сообщений: 14
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
C 4 тактов ужал до 2.
Код:
|
main1.c:63 (*GPIOD).ODR = ~(*GPIOD).ODR;
0x81bd ‹main+67› 0x7253500F CPL 0x500f
0x81c1 ‹main+71› 0x2007 JRT 0x81ca |
Перепись в вид
Код:
|
#define LED (*GPIOD).ODR
LED = ~LED; |
Дала тот же результат.
Но до одного далеко. Что еще можно подправить?
Последний раз редактировалось iIi_WARHEAD_iIi; 07.11.2010 в 15:37.
|
|
|
|
07.11.2010, 15:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
|
Re: Непонятна постановка вопроса
Сообщение от =GM=
|
1) Что-то я не пойму, вы что, не можете разобраться с семью командами, из которых четыре - команды сложения? На Си у меня такой программы нет и не было, кому ж придёт в голову писать на си, когда каждый такт на счету. На асме уже 10 тактов, на си будет больше по определению. Программу на асме смотрите в посте #200.
2) Насчёт точности. Ещё раз, нестабильность определяется кварцем. Если его относительная нестабильность 1^10-6, значит, нестабильность порождаемых процессов тоже 1^10-6. Вам бы начала гармонического анализа освежить .
3) На форуме не принято панибратство, давайте обойдёмся без него.
|
Не факт что на Си для АРМ будет больше чем на асм дл АРМ. Я попрежнему жду исходняк на Си для ДДС и результаты работы того фрагмента на Си в 500 тактов.
Погрешность определяется погрешностью всех компонентов системы,а это кварц,МК,ЦАП и даже сама плата. Если вы возьмете мощный анализатор спектра то он покажет что у вас точность не выше 1%.
Про 3 пункт вообще не понял.
|
|
|
|
07.11.2010, 16:20
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от iIi_WARHEAD_iIi
|
Но до одного далеко. Что еще можно подправить?
|
Сейчас занят, ближе к вечеру поделюсь переделанной библиотекой под GPIO. Единственное -она пока под один контроллер 8S105 и один компилятор - COSMIC.
|
|
|
|
07.11.2010, 17:19
|
|
Прописка
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
Gnider, хватит прикидываться :-)
Сообщение от Gnider
|
Не факт что на Си для АРМ будет больше чем на асм дл АРМ. Я попрежнему жду исходняк на Си для ДДС и результаты работы того фрагмента на Си в 500 тактов.
Погрешность определяется погрешностью всех компонентов системы,а это кварц,МК,ЦАП и даже сама плата. Если вы возьмете мощный анализатор спектра то он покажет что у вас точность не выше 1%.
Про 3 пункт вообще не понял.
|
1) От кого вы по-прежнему ждёте исходняк на Си для ДДС? От меня? А я обещал? Нет, не обещал, более того, прямо сказал, что его у меня нет и не было.
2) Что такое "результаты работы того фрагмента на Си в 500 тактов"? От кого вы его ждёте, тем более на Си? От меня? Я не обещал, я си вообще-то недолюбливаю. От 500 тактов на асме для задачи из поста #217 не отказываюсь. Читайте мой пост #220. Там, кстати, вопрос ставился так: программа на стм8 по сравнению с авр. Но программу для стм8 вы не предоставили.
3) Давно известно, ещё в древней иудее, что спектр ддс сигнала самый чистый особенно вблизи центральной спектальной линии.
4) Третий пункт вот
- "Gnider #258 Вообщем насчет ДДС - давай исходняк на Си, тогда и померяем"
- "Gnider #267 Еще раз повторяю - пришли исходняк на Си он будет быстрее чем твой на АВР"
Не надо мне тыкать, я с вами на брудершафт не пил.
5) Чудно, в соответствии с последней фразой, я должен написать программу на Си и прислать вам, и она у вас почему-то будет быстрее работать. По-моему, вы просто не понимаете алгоритма ддс, поэтому и не можете написать. Так же, как с задачей из #217 для стм8. И никакой тут дма ни при чём.
Последний раз редактировалось =GM=; 07.11.2010 в 18:59.
|
|
|
|
07.11.2010, 19:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
|
Re: Gnider, хватит прикидываться :-)
Сообщение от =GM=
|
1) От кого вы по-прежнему ждёте исходняк на Си для ДДС? От меня? А я обещал? Нет, не обещал, более того, прямо сказал, что его у меня нет и не было.
2) Что такое "результаты работы того фрагмента на Си в 500 тактов"? От кого вы его ждёте, тем более на Си? От меня? Я не обещал, я си вообще-то недолюбливаю. От 500 тактов на асме для задачи из поста #217 не отказываюсь. Читайте мой пост #220. Там, кстати, вопрос ставился так: программа на стм8 по сравнению с авр. Но программу для стм8 вы не предоставили.
3) Давно известно, ещё в древней иудее, что спектр ддс сигнала самый чистый особенно вблизи центральной спектальной линии.
4) Третий пункт вот
- "Gnider #258 Вообщем насчет ДДС - давай исходняк на Си, тогда и померяем"
- "Gnider #267 Еще раз повторяю - пришли исходняк на Си он будет быстрее чем твой на АВР"
Не надо мне тыкать, я с вами на брудершафт не пил.
5) Чудно, в соответствии с последней фразой, я должен написать программу на Си и прислать вам, и она у вас почему-то будет быстрее работать. По-моему, вы просто не понимаете алгоритма ддс, поэтому и не можете написать. Так же, как с задачей из #217 для стм8. И никакой тут дма ни при чём.
|
Совсем меня запутали. Вообщем если бы вы разбирались в ЦОС и вообщем в математике то сейчас бы не парились такой вещью как АВР а забыли бы про нее как страшный сон. А то странно получается. С АВР уже все уходят(даже сам Атмел). А наиболее продвинутые давно ушли. Надо обсуждать уже минимум 32-разрядники,а мы тут спорим из-за 9 -тактов.
Про ДДС на АВР я слышу уже последние лет 10 на разных форумах. Все уже обсудили и давно изестно что больше 100кгц не получить с хорошей точностью,и каждый раз кто-то считая себя исключением предьявляет новый вариант ДДС. Очень похожа тема про самодельный ЛБИ и DSO на АВР.
|
|
|
|
07.11.2010, 21:36
|
|
Прописка
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
Начинается, старая песня о главном
Не надо вилять, ответьте прямо, вы можете написать программу для ддс, с дма или без, которая по вашим словам превзойдёт авр?
Даже i8051 выпускаются и используются, не говоря уж об авр, кто ж в здравом уме будет убивать курицу, несущую золотые яйца?
Откуда вы знаете, что я не разбираюсь в ЦОС и в математике? Тут вы прям пальцем в небо, на самом деле я именно пишу программы ЦОС для ДСП, в частности, занимаюсь преобразованием Фурье аналитических сигналов и их обработкой.
Последний раз редактировалось =GM=; 07.11.2010 в 21:41.
|
|
|
|
07.11.2010, 21:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
|
Re: Начинается, старая песня о главном
Сообщение от =GM=
|
Не надо вилять, ответьте прямо, вы можете написать программу для ддс, с дма или без, которая по вашим словам превзойдёт авр?
Даже i8051 выпускаются и используются, не говоря уж об авр, кто ж в здравом уме будет убивать курицу, несущую золотые яйца?
Откуда вы знаете, что я не разбираюсь в ЦОС и в математике? Тут вы прям пальцем в небо, на самом деле я именно пишу программы ЦОС для ДСП, работаю с аналитическими сигналами.
|
Могу конечно. Просто я на Си,ты на АВР. Как сравнить то?
Каков диапазон частот? Сколько бит?
Для атмел авр давно уже на золотые яица. Думаю ит ак понятно почему.
Если пишешь программы для ЦОС то тогда причем здесь АВР?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:52.
|
|