реклама на сайте
подробности

 
 
> Си для AVR
Yuriy_AVR
сообщение Jan 15 2007, 22:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 12-01-07
Из: Крым
Пользователь №: 24 378



Здравствуйте , Уважаемые форумчане !
Я на этом форуме пока новенький . С AVR работаю с самого их рождения . На asm сделал огромное кол-во проэктов , и вот теперь хочется посмотреть что же такое Си , и в самом ли деле он так хорош для контроллеров ( и не только ) , сколько о нём восторженных отзывов . Из своего опыта хочу сказать - если программа хорошо продумана идеологически и логически , то всё остальное - дело техники ( и уж если на asm есть глюки , то виноват не asm , а руки ) . Поэтому хочется самому убедиться в его преимуществах ( и естественно недостатках ) . В связи с этим вопрос первый - поделитесь пожалуйста вылеченным IAR ( хочется начать с этого пакета ) , и подскажите пожалуйста хорошую книжку по Си ( желательно конечно на русском , в крайнем случае на английском ), желательно адаптированную для контроллеров , и уж если для AVR , то вообще хорошо .
Заранее всем спасибо .
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
fmdost
сообщение Sep 2 2007, 22:14
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



bb-offtopic.gif Граждане!!! Раскажите что делает программа на 100к??? Без сарказма. Сам больше 16 не писал никогда! bb-offtopic.gif
Go to the top of the page
 
+Quote Post
AVR
сообщение Sep 3 2007, 20:28
Сообщение #3


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Т.Достоевский, Вы жестоко заблуждаетесь... crying.gif


--------------------
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 3 2007, 20:32
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(AVR @ Sep 4 2007, 00:28) *
Т.Достоевский, Вы жестоко заблуждаетесь... crying.gif

В чём?
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 3 2007, 20:45
Сообщение #5


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Т.Достоевский @ Sep 4 2007, 00:32) *
В чём?
Глубокоуважаемый Достоевский, раз уж Вы так радеете за программирование
на Asm, хочу предложить Вам небольшую задачку(которая кстати не очень хорошо
решается на С), необходимо поменять в байте порядок следования битов на
противоположный, т.е.
вход: b7 b6 b5 b4 b3 b2 b1 b0
выход: b0 b1 b2 b3 b4 b5 b6 b7
ну конечно нужна максимальная скорость, но без таблиц(места нетуsmile.gif)

Покажите нам пример как нужно эфективно писать проги....
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 3 2007, 20:53
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(singlskv @ Sep 4 2007, 00:45) *
Глубокоуважаемый Достоевский, раз уж Вы так радеете за программирование
на Asm, хочу предложить Вам небольшую задачку(которая кстати не очень хорошо
решается на С), необходимо поменять в байте порядок следования битов на
противоположный, т.е.
вход: b7 b6 b5 b4 b3 b2 b1 b0
выход: b0 b1 b2 b3 b4 b5 b6 b7
ну конечно нужна максимальная скорость, но без таблиц(места нетуsmile.gif)

Покажите нам пример как нужно эфективно писать проги....

Дайте подумать!
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 3 2007, 21:02
Сообщение #7


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Т.Достоевский @ Sep 4 2007, 00:53) *
Дайте подумать!
Да ни вапрос, до завтрашнего утра у Вас есть время smile.gif
А если серьезно ,то до завтрашнего вечера sad.gif Это максимум на обдумывание такой задачки...
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 3 2007, 21:11
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(singlskv @ Sep 4 2007, 01:02) *
Да ни вапрос, до завтрашнего утра у Вас есть время smile.gif
А если серьезно ,то до завтрашнего вечера sad.gif Это максимум на обдумывание такой задачки...

Дело в том что Я уже 5 лет как не пишу софт сам. Его за меня пишут люди, причём на С.

ldi r18,8 ;такой задачи не разу небыло
ldd r16,data ; код абсолютно переносимый
clr r17

m1:rol r16
ror r17
dec r18
brne m1 ; могу добавить на i51 pic16, holtec, ARM. если конечно вспомню где это всё лежит

std data,r16

Сообщение отредактировал Т.Достоевский - Sep 3 2007, 21:13
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 3 2007, 21:21
Сообщение #9


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Т.Достоевский @ Sep 4 2007, 01:11) *
Дело в том что Я уже 5 лет как не пишу софт сам. Его за меня пишут люди, причём на С.

ldi r18,8 ;такой задачи не разу небыло
ldd r16,data ; код абсолютно переносимый
clr r17

m1:rol r16
ror r17
dec r18
brne m1 ; могу добавить на i51 pic16, holtec, ARM. если конечно вспомню где это всё лежит

std data,r16

Ну, пока результат мягко говоря не очень smile.gif
Для поднятия тонуса сообщу Вам что данная задачка решается на AVR за 13 тактов...
Go to the top of the page
 
+Quote Post
fmdost
сообщение Sep 3 2007, 21:24
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(singlskv @ Sep 4 2007, 01:21) *
Ну, пока результат мягко говоря не очень smile.gif
Для поднятия тонуса сообщу Вам что данная задачка решается на AVR за 13 тактов...

А пример? Яж в булевых функциях не силён.
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 3 2007, 21:44
Сообщение #11


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Т.Достоевский @ Sep 4 2007, 01:24) *
А пример? Яж в булевых функциях не силён.
пример будет после того как Вы скажете что нужно писать на С или предоставите
общественности код для данной задачки хотябы за 15 тактов smile.gif (ШУЧУ)
Вобщем-то Вы уже раскрылись, написть быстрый код на асм Вы не очень то умеете...
Но спорите...
Я типа вроде как умею писать быстро и на С и на асм,
а код типа такой:
Код
;  13 words / 13 cycles
       ; tmp=  abcdefgh
  mov    tmp2,tmp       ; tmp2= abcdefgh
  andi   tmp2,0b01010101; tmp2= 0b0d0f0h
  andi   tmp, 0b10101010; tmp=  a0c0e0g0
  bst    tmp2,0         ;                 T=h
  lsr    tmp2           ; tmp2= 00b0d0f0
  bld    tmp2,7         ; tmp2= h0b0d0f0
  lsl    tmp            ; tmp=  0c0e0g00  C=a
  adc    tmp, tmp2      ; tmp=  hcbedgfa
  mov    tmp2,tmp       ; tmp2= hcbedgfa
  andi   tmp2,0b01100110; tmp2= 0cb00gf0
  swap   tmp2           ; tmp2= 0gf00cb0
  andi   tmp, 0b10011001; tmp=  h00ed00a
  add    tmp, tmp2      ; tmp=  hgfedcba
Go to the top of the page
 
+Quote Post
kv_addr
сообщение Sep 4 2007, 11:36
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 6-07-04
Из: Полтава
Пользователь №: 279



Цитата(singlskv @ Sep 4 2007, 00:44) *
а код типа такой:
Код
;  13 words / 13 cycles
      ; tmp=  abcdefgh
  mov    tmp2,tmp      ; tmp2= abcdefgh
  andi   tmp2,0b01010101; tmp2= 0b0d0f0h
  andi   tmp, 0b10101010; tmp=  a0c0e0g0
  bst    tmp2,0        ;                 T=h
  lsr    tmp2          ; tmp2= 00b0d0f0
  bld    tmp2,7        ; tmp2= h0b0d0f0
  lsl    tmp        ; tmp=  0c0e0g00  C=a
  adc    tmp, tmp2     ; tmp=  hcbedgfa
  mov    tmp2,tmp      ; tmp2= hcbedgfa
  andi   tmp2,0b01100110; tmp2= 0cb00gf0
  swap   tmp2          ; tmp2= 0gf00cb0
  andi   tmp, 0b10011001; tmp=  h00ed00a
  add    tmp, tmp2     ; tmp=  hgfedcba

Трюк, несомненно, красивый. wink.gif Но такой вариант не так уж сильно ему уступает:
Код
; 14 words / 14 cycles
; tmp=abcdefgh
mov tmp2,tmp
ror tmp
rol tmp2
ror tmp
rol tmp2
ror tmp
rol tmp2
ror tmp
rol tmp2
ror tmp
andi tmp,0xf0
andi tmp2,0x0f
or tmp,tmp2
swap tmp
; tmp=hgfedcba

smile.gif
Go to the top of the page
 
+Quote Post
singlskv
сообщение Sep 4 2007, 22:10
Сообщение #13


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(kv_addr @ Sep 4 2007, 15:36) *
Трюк, несомненно, красивый. wink.gif Но такой вариант не так уж сильно ему уступает:
[code]
.....
На самом деле мой вариант это действительно просто трюк,
просто мне нравятся такие трюки и если есть возможность их применить, то
я их применяю, тока тогда, когда это действительно необходимо...

Примерно такие же трюки вполне реализуемы/используемы на С
Эфектифность конечно чуть меньше(на 10-15%), но при этом сохраняется полная переносимость...
правда на другой платформе код может оказаться неэфективным, но рабочим...

Вобщем, если подитожить, учите инструмент которым Вы пользуетесь...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Yuriy_AVR   Си для AVR   Jan 15 2007, 22:26
- - umup   Вот чтобы не искать кряки к каждой новой версии, и...   Jan 15 2007, 22:45
|- - Abakt   мне понравилось "Си для МК" [BANNED] -...   Jan 16 2007, 16:33
- - SasaVitebsk   Цитата(Yuriy_AVR @ Jan 15 2007, 23:26) Зд...   Jan 15 2007, 23:38
- - beer_warrior   Значиться так - С для МК самое то. Особенно если р...   Jan 16 2007, 01:25
- - kd_Rash   Шпака - хорошая книга, но лучше не в электронном в...   Jan 16 2007, 10:12
|- - &-rey   Может для начала и сложно, и направлена она на С++...   Jan 16 2007, 12:56
- - big256   книги по АВР можно найти здесь + еще кучу полезной...   Jan 16 2007, 15:56
|- - unichorn   Цитата(big256 @ Jan 16 2007, 15:56) книги...   Jan 18 2007, 13:25
|- - bloodden   Цитата(unichorn @ Jan 18 2007, 16:25) Ру...   Sep 1 2007, 22:49
- - Pyku_He_oTTyda   Цитатакниги по АВР можно найти здесь + еще кучу по...   Jan 16 2007, 17:46
- - umup   Цитатаwww.narod.ru/1110.zip Извиняюсь, должно быт...   Jan 17 2007, 22:08
|- - Abakt   Полная книга от профи по WinAVR "C programmi...   Jan 18 2007, 09:49
- - CSB   Б. Керниган, Д. Ритчи "Язык программирования ...   Jan 17 2007, 23:26
|- - Serg79   Цитата(CSB @ Jan 17 2007, 23:26) Б. Керни...   Jan 18 2007, 08:26
- - Pyku_He_oTTyda   ЦитатаAbakt Цитата[BANNED] Это реклама курса или п...   Jan 18 2007, 12:47
- - Т.Достоевский   Если Вы не планируете написать windows под АВР, за...   Sep 2 2007, 18:33
|- - zltigo   Цитата(Т.Достоевский @ Sep 2 2007, 21:33)...   Sep 2 2007, 19:11
|- - SasaVitebsk   Цитата(Т.Достоевский @ Sep 2 2007, 21:33)...   Sep 2 2007, 20:15
|- - defunct   Цитата(Т.Достоевский @ Sep 2 2007, 21:33)...   Sep 2 2007, 21:11
- - Т.Достоевский   Перенесите проэкт из IAR в VINAVR и наоборот, а на...   Sep 2 2007, 19:18
|- - zltigo   Цитата(Т.Достоевский @ Sep 2 2007, 22:18)...   Sep 2 2007, 19:36
||- - Т.Достоевский   Цитата(zltigo @ Sep 2 2007, 23:36) А поче...   Sep 2 2007, 19:40
|- - rezident   Цитата(Т.Достоевский @ Sep 3 2007, 01:18)...   Sep 2 2007, 20:13
|- - defunct   Цитата(Т.Достоевский @ Sep 2 2007, 22:18)...   Sep 2 2007, 22:14
- - sensor_ua   ЦитатаЕсли Вы не планируете написать windows под А...   Sep 2 2007, 20:31
- - Т.Достоевский   Цитата(SasaVitebsk @ Sep 3 2007, 00:15) А...   Sep 2 2007, 21:17
|- - zltigo   Цитата(Т.Достоевский @ Sep 3 2007, 00:17)...   Sep 2 2007, 22:17
|- - haker_fox   Цитата(Т.Достоевский @ Sep 3 2007, 06:17)...   Sep 3 2007, 00:43
- - Stariy Alex   Дейтел - Как программировать на C - 1002 стр. (под...   Sep 2 2007, 21:35
|- - defunct   Цитата(Stariy Alex @ Sep 3 2007, 00:35) P...   Sep 2 2007, 22:01
|- - bbill   Цитата(Stariy Alex @ Sep 3 2007, 00:35) Д...   Sep 3 2007, 20:00
|- - defunct   Цитата(Т.Достоевский @ Sep 3 2007, 01:14)...   Sep 2 2007, 22:25
|- - Т.Достоевский   Цитата(singlskv @ Sep 4 2007, 01:44) прим...   Sep 3 2007, 21:56
||- - Сергей Борщ   Цитата(Т.Достоевский @ Sep 4 2007, 00:56)...   Sep 3 2007, 22:04
||- - singlskv   Цитата(Т.Достоевский @ Sep 4 2007, 01:56)...   Sep 3 2007, 22:14
||- - Т.Достоевский   Цитата(singlskv @ Sep 4 2007, 02:14) Ok, ...   Sep 3 2007, 22:44
||- - haker_fox   Цитата(Т.Достоевский @ Sep 4 2007, 07:44)...   Sep 4 2007, 01:11
||- - Stanislav_S   Цитата(Т.Достоевский @ Sep 4 2007, 03:44)...   Sep 4 2007, 09:29
||- - kv_addr   Цитата(singlskv @ Sep 5 2007, 01:10) На с...   Sep 5 2007, 10:21
|- - mse   Цитата(kv_addr @ Sep 4 2007, 15:36) Трюк,...   Sep 5 2007, 09:46
- - Т.Достоевский   Поставьте НТ на новое железо, или на НТ акробат 6....   Sep 2 2007, 22:27
|- - defunct   Цитата(Т.Достоевский @ Sep 3 2007, 01:27)...   Sep 2 2007, 22:39
|- - Т.Достоевский   Цитата(defunct @ Sep 3 2007, 02:39) Нет в...   Sep 2 2007, 23:00
- - sensor_ua   2 Т.Достоевский Я не больше, а схемотехник. И умен...   Sep 3 2007, 05:22
|- - Dog Pawlowa   Цитата(sensor_ua @ Sep 3 2007, 08:22) ЗЫ ...   Sep 3 2007, 05:58
|- - Dog Pawlowa   Цитата(sensor_ua @ Sep 3 2007, 08:22) .. ...   Sep 3 2007, 06:31
- - sensor_ua   ЦитатаЕсть и другие фразы : "Я Пастернака не ...   Sep 3 2007, 06:03
- - zcost   IARовский сишный компилятор дает вполне оптимальны...   Sep 3 2007, 06:46
- - SasaVitebsk   Я тоже очень долго писал на асме. Сам в спор не вс...   Sep 3 2007, 15:11
- - IgorKossak   Ну, ребятки, развлекли!   Sep 3 2007, 20:48
- - zcost   Есть еще аргумент. Недаром архитектура микроконтро...   Sep 4 2007, 04:07
|- - Dog Pawlowa   Цитата(zcost @ Sep 4 2007, 07:07) Есть ещ...   Sep 4 2007, 10:11
|- - Сергей Борщ   Цитата(Dog Pawlowa @ Sep 4 2007, 13:11) И...   Sep 4 2007, 10:26
|- - Dog Pawlowa   Цитата(Сергей Борщ @ Sep 4 2007, 13:26) 1...   Sep 4 2007, 11:00
|- - zltigo   Цитата(Dog Pawlowa @ Sep 4 2007, 14:00) А...   Sep 4 2007, 13:24
|- - Dog Pawlowa   Цитата(zltigo @ Sep 4 2007, 16:24) Буквы ...   Sep 4 2007, 13:57
|- - zltigo   Цитата(Dog Pawlowa @ Sep 4 2007, 16:57) Т...   Sep 4 2007, 14:51
|- - Сергей Борщ   Цитата(Dog Pawlowa @ Sep 4 2007, 16:57) Н...   Sep 4 2007, 15:45
|- - defunct   Цитата(Dog Pawlowa @ Sep 4 2007, 16:57) о...   Sep 4 2007, 22:53
|- - zltigo   Цитата(defunct @ Sep 5 2007, 01:53) нет к...   Sep 5 2007, 07:18
|- - defunct   Цитата(zltigo @ Sep 5 2007, 10:18) Автоин...   Sep 5 2007, 09:34
|- - zltigo   Цитата(defunct @ Sep 5 2007, 12:34) адрес...   Sep 5 2007, 09:58
- - Kuzmi4   Весело тут у вас..... По моему после поста singls...   Sep 4 2007, 10:31
- - Stariy Alex   Цитата(defunct @ Sep 3 2007, 02:01) pdf с...   Sep 4 2007, 12:58
- - Т.Достоевский   И все ка-кто дружно пропустили ненужный clr r17.   Sep 5 2007, 09:58


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 14:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01604 секунд с 7
ELECTRONIX ©2004-2016