|
Порты AVR и компиляция |
|
|
|
Sep 26 2007, 15:26
|
Группа: Участник
Сообщений: 12
Регистрация: 19-05-07
Пользователь №: 27 828

|
Очень долго работал с разными МК(51, в основном ARM) решил попробовать AVR вопросы: У этих AVR что нет удобного побитового доступа к портам? Какой компилятор делает наиболее красивый код?
|
|
|
|
|
 |
Ответов
|
Sep 26 2007, 16:48
|
Профессионал
    
Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387

|
Цитата такого гонива как потребность применять 2 команды для записи конкретного значения в порт как в ARM в AVR'е тоже нет. Хм... Вы слегка заблуждаетесь, если говорите об LPC. В них совсем необязательно использовать IOSET/IOCLR - Вы можете просто модифицировать (чтение-модификация-запись) регистр IOPIN Writing to the IOPIN register stores the value in the port output register, bypassing the need to use both the IOSET and IOCLR registers to obtain the entire written value. This feature should be used carefully in an application since it affects the entire port. Чтение-модификация-запись возможно более привычная операция, но она неатомарна и без FIO дороже по времени (шина-то периферийная узковата). Неатомарность заставляет задумываться об использовании портов в обработчиках прерываний.
--------------------
aka Vit
|
|
|
|
|
Sep 27 2007, 04:51
|
Группа: Участник
Сообщений: 12
Регистрация: 19-05-07
Пользователь №: 27 828

|
Цитата(defunct @ Sep 27 2007, 02:19)  Ну... В реалиях этой фичей особо не попользуешься, особенно когда всего 1 порт, и после включения периферии остаются разрозненные, хаотически пронумерованные пины... IOSET/IOCLR the only way to go в этом случае.
В AVR'е те же 32 пина разбиты на 4 порта, отсюда возможность проектирования девайса так, что можно обойтись без чтения-модификации-записи. Ну с портами все понятно. На какой среде разработки остановиться? в CodeVAVR - можно ли в проект загнать не один файл?
|
|
|
|
Сообщений в этой теме
allexmor Порты AVR и компиляция Sep 26 2007, 15:26 defunct Цитата(allexmor @ Sep 26 2007, 18:26) У э... Sep 26 2007, 16:01 Marian Цитата(allexmor @ Sep 26 2007, 18:26) Оче... Sep 26 2007, 16:38 kv_addr Цитата(Marian @ Sep 26 2007, 19:38) CVAVR... Sep 27 2007, 20:15 bodja74 Зато сразу IOPIN=0x5555AAAA; Sep 26 2007, 17:32 sensor_ua Фаворит IAR. WinAVR вполне юзабилен, но когда нужн... Sep 27 2007, 05:04 allexmor Цитата(sensor_ua @ Sep 27 2007, 09:04) Фа... Sep 27 2007, 05:08  alexander55 Цитата(allexmor @ Sep 27 2007, 09:08) Где... Sep 27 2007, 05:49 mdmitry WinAvr(gcc)+Eclipse - хорошая бесплатная связка дл... Sep 27 2007, 06:27 IJAR IMHO: После IAR другие компиляторы даже пробовать... Sep 27 2007, 06:51  defunct Цитата(IJAR @ Sep 27 2007, 09:51) IMHO: ... Sep 27 2007, 08:56   Qwertty Цитата(defunct @ Sep 27 2007, 12:56) Ну п... Sep 27 2007, 12:58    defunct Цитата(Qwertty @ Sep 27 2007, 15:58) Ну д... Sep 27 2007, 13:10     singlskv Цитата(defunct @ Sep 27 2007, 17:10) Вы х... Sep 27 2007, 14:48      defunct Цитата(singlskv @ Sep 27 2007, 17:48) А к... Sep 27 2007, 15:14       singlskv Цитата(defunct @ Sep 27 2007, 19:14) Отли... Sep 27 2007, 15:27        defunct Цитата(singlskv @ Sep 27 2007, 18:27) eeC... Sep 27 2007, 15:33         singlskv Цитата(defunct @ Sep 27 2007, 19:33) Это ... Sep 27 2007, 16:32     Qwertty Цитата(defunct @ Sep 27 2007, 17:10) Вы х... Sep 27 2007, 16:23    Сергей Борщ Цитата(Qwertty @ Sep 27 2007, 15:58) Ну д... Sep 27 2007, 14:23     Qwertty Цитата(Сергей Борщ @ Sep 27 2007, 18:23) ... Sep 27 2007, 16:36      singlskv Цитата(Qwertty @ Sep 27 2007, 20:36) Знач... Sep 27 2007, 17:49      Сергей Борщ Цитата(Qwertty @ Sep 27 2007, 19:36) Ну-н... Sep 28 2007, 08:27       Marian Цитата(Сергей Борщ @ Sep 28 2007, 11:27) ... Sep 28 2007, 15:16 GDI В CodeVision можно сделать несколько файлов в прое... Sep 27 2007, 09:09 SasaVitebsk Есть ещё один момент для WinAvr. Только за последн... Sep 27 2007, 20:02 singlskv Цитата(SasaVitebsk @ Sep 28 2007, 00:02) ... Sep 28 2007, 22:37  defunct Цитата(singlskv @ Sep 29 2007, 01:37) P.S... Sep 29 2007, 11:54   singlskv Цитата(defunct @ Sep 29 2007, 15:54) Ок, ... Sep 29 2007, 17:21    defunct Цитата(singlskv @ Sep 29 2007, 20:21) Ну ... Sep 29 2007, 19:47     singlskv Цитата(defunct @ Sep 29 2007, 23:47) Да и... Sep 29 2007, 20:15      defunct Цитата(singlskv @ Sep 29 2007, 23:15) e=k... Sep 29 2007, 20:20       singlskv Цитата(defunct @ Sep 30 2007, 00:20) Ну и... Sep 29 2007, 20:30        defunct Цитата(singlskv @ Sep 29 2007, 23:30) [i]... Sep 29 2007, 20:40         singlskv Цитата(defunct @ Sep 30 2007, 00:40) Для ... Sep 29 2007, 20:58    Сергей Борщ Цитата(singlskv @ Sep 29 2007, 20:21) Нас... Sep 29 2007, 22:09     singlskv Цитата(Сергей Борщ @ Sep 30 2007, 01:57) ... Sep 29 2007, 22:36      defunct Цитата(singlskv @ Sep 30 2007, 01:36) Упс... Sep 29 2007, 23:56       singlskv Цитата(defunct @ Sep 30 2007, 03:56) Если... Sep 30 2007, 18:32        SasaVitebsk Цитата(singlskv @ Sep 30 2007, 21:32) Вос... Sep 30 2007, 19:17        Сергей Борщ Цитата(singlskv @ Sep 30 2007, 21:32) А ... Sep 30 2007, 19:30         singlskv Цитата(Сергей Борщ @ Sep 30 2007, 23:30) ... Sep 30 2007, 20:04      Сергей Борщ Цитата(singlskv @ Sep 30 2007, 01:36) а е... Sep 30 2007, 07:59       Qwertty Цитата(Сергей Борщ @ Sep 30 2007, 11:59) ... Sep 30 2007, 12:13        Proton Цитата(Qwertty @ Sep 30 2007, 19:13) Но в... Sep 30 2007, 12:42     Dog Pawlowa Цитата(Сергей Борщ @ Sep 30 2007, 01:09) ... Sep 30 2007, 18:38      singlskv Цитата(Dog Pawlowa @ Sep 30 2007, 22:38) ... Sep 30 2007, 18:44       Dog Pawlowa Цитата(singlskv @ Sep 30 2007, 21:44) Вы ... Oct 1 2007, 11:56      defunct Цитата(Dog Pawlowa @ Sep 30 2007, 21:38) ... Sep 30 2007, 22:44     Непомнящий Евгений to Сергей Борщ
Подскажите, а зачем нужна обвязка и... Oct 1 2007, 10:38      Сергей Борщ Цитата(Непомнящий Евгений @ Oct 1 2007, 13... Oct 1 2007, 11:16       defunct Цитата(Сергей Борщ @ Oct 1 2007, 14:16) К... Oct 1 2007, 11:36        Сергей Борщ Цитата(defunct @ Oct 1 2007, 14:36) Подро... Oct 1 2007, 11:51     SergeiCh Цитата(Сергей Борщ @ Sep 30 2007, 05:09) ... Oct 1 2007, 11:55  Сергей Борщ Цитата(singlskv @ Sep 29 2007, 01:37) Пря... Sep 29 2007, 12:46   singlskv Цитата(Сергей Борщ @ Sep 29 2007, 16:46) ... Sep 29 2007, 18:42 mdmitry Увы! Началась религиозная война!
По поводу... Sep 27 2007, 20:51 SasaVitebsk Преимущества они и в Африке преимущества.
Вы пре... Sep 28 2007, 23:06 SergeiCh Если хочется писать PORTB_0 = 1, это можно сделать... Sep 29 2007, 07:05 sensor_ua ЦитатаIAR дает нам простой инструмент доступа
Заме... Sep 29 2007, 19:56 sensor_ua ЦитатаГде в этой проге можно написать cfg_EE = cfg... Sep 29 2007, 21:05 singlskv Цитата(sensor_ua @ Sep 30 2007, 01:05) та... Sep 29 2007, 21:26 sensor_ua ЦитатаЯ НЕ пользуюсь ни IARовским ни каким другим ... Sep 29 2007, 23:01 sensor_ua ЦитатаEEMEM, PROGMEM я типами данных просто не счи... Oct 1 2007, 05:17 Rst7 Кстати, между прочим, переделав eeprom.s90 наприме... Oct 1 2007, 13:41 SasaVitebsk Цитата(Rst7 @ Oct 1 2007, 16:41) Кстати, ... Oct 1 2007, 18:04  Rst7 Цитата(SasaVitebsk @ Oct 1 2007, 21:04)
... Oct 2 2007, 06:42   SasaVitebsk Цитата(Rst7 @ Oct 2 2007, 09:42) Ээээ... ... Oct 2 2007, 11:39    Rst7 Цитата(SasaVitebsk @ Oct 2 2007, 14:39) Я... Oct 2 2007, 11:57 singlskv Цитата(Rst7 @ Oct 1 2007, 17:41) Кстати, ... Oct 2 2007, 18:06  Непомнящий Евгений Цитата(singlskv @ Oct 2 2007, 22:06) Може... Oct 3 2007, 04:22 sensor_ua ЦитатаБыла идея патчить кодегенератор, дабы он дел... Oct 2 2007, 14:18 Rst7 Цитата(sensor_ua @ Oct 2 2007, 17:18) Пыт... Oct 3 2007, 05:38 sensor_ua ЦитатаМожет все-таки стоит в подобных ситуациях оз... Oct 2 2007, 19:38 singlskv Цитата(sensor_ua @ Oct 2 2007, 23:38) А ... Oct 2 2007, 20:08 sensor_ua ЦитатаКак сохранить текущую конфигурацию прибора п... Oct 2 2007, 20:32 singlskv Цитата(sensor_ua @ Oct 3 2007, 00:32) Оза... Oct 2 2007, 20:56  defunct Цитата(singlskv @ Oct 2 2007, 23:56) Если... Oct 2 2007, 21:44  sensor_ua Цитата(singlskv @ Oct 2 2007, 23:56) Я и ... Oct 3 2007, 05:16 sensor_ua Цитатаон генерирует комманду записи в RAMPx, ее мо... Oct 3 2007, 06:58
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|