|
Си для AVR |
|
|
|
Jan 15 2007, 22:26
|
Участник

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

|
Здравствуйте , Уважаемые форумчане ! Я на этом форуме пока новенький . С AVR работаю с самого их рождения . На asm сделал огромное кол-во проэктов , и вот теперь хочется посмотреть что же такое Си , и в самом ли деле он так хорош для контроллеров ( и не только ) , сколько о нём восторженных отзывов . Из своего опыта хочу сказать - если программа хорошо продумана идеологически и логически , то всё остальное - дело техники ( и уж если на asm есть глюки , то виноват не asm , а руки ) . Поэтому хочется самому убедиться в его преимуществах ( и естественно недостатках ) . В связи с этим вопрос первый - поделитесь пожалуйста вылеченным IAR ( хочется начать с этого пакета ) , и подскажите пожалуйста хорошую книжку по Си ( желательно конечно на русском , в крайнем случае на английском ), желательно адаптированную для контроллеров , и уж если для AVR , то вообще хорошо . Заранее всем спасибо .
|
|
|
|
|
 |
Ответов
|
Sep 3 2007, 20:45
|
дятел
    
Группа: Свой
Сообщений: 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 ну конечно нужна максимальная скорость, но без таблиц(места нету  ) Покажите нам пример как нужно эфективно писать проги....
|
|
|
|
|
Sep 3 2007, 20:53
|

Местный
  
Группа: Свой
Сообщений: 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 ну конечно нужна максимальная скорость, но без таблиц(места нету  ) Покажите нам пример как нужно эфективно писать проги.... Дайте подумать!
|
|
|
|
|
Sep 3 2007, 21:11
|

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

|
Цитата(singlskv @ Sep 4 2007, 01:02)  Да ни вапрос, до завтрашнего утра у Вас есть время  А если серьезно ,то до завтрашнего вечера  Это максимум на обдумывание такой задачки... Дело в том что Я уже 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
|
|
|
|
|
Sep 3 2007, 21:44
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(Т.Достоевский @ Sep 4 2007, 01:24)  А пример? Яж в булевых функциях не силён. пример будет после того как Вы скажете что нужно писать на С или предоставите общественности код для данной задачки хотябы за 15 тактов  (ШУЧУ) Вобщем-то Вы уже раскрылись, написть быстрый код на асм Вы не очень то умеете... Но спорите... Я типа вроде как умею писать быстро и на С и на асм, а код типа такой: Код ; 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
|
|
|
|
|
Sep 4 2007, 11:36
|

Местный
  
Группа: Свой
Сообщений: 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 Трюк, несомненно, красивый.  Но такой вариант не так уж сильно ему уступает: Код ; 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
|
|
|
|
|
Sep 4 2007, 22:10
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(kv_addr @ Sep 4 2007, 15:36)  Трюк, несомненно, красивый.  Но такой вариант не так уж сильно ему уступает: [code] ..... На самом деле мой вариант это действительно просто трюк, просто мне нравятся такие трюки и если есть возможность их применить, то я их применяю, тока тогда, когда это действительно необходимо... Примерно такие же трюки вполне реализуемы/используемы на С Эфектифность конечно чуть меньше(на 10-15%), но при этом сохраняется полная переносимость... правда на другой платформе код может оказаться неэфективным, но рабочим... Вобщем, если подитожить, учите инструмент которым Вы пользуетесь...
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|