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

 
 
> Порты AVR и компиляция
allexmor
сообщение Sep 26 2007, 15:26
Сообщение #1





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



Очень долго работал с разными МК(51, в основном ARM) решил попробовать AVR вопросы:
У этих AVR что нет удобного побитового доступа к портам?
Какой компилятор делает наиболее красивый код?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sensor_ua
сообщение Sep 26 2007, 16:48
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
defunct
сообщение Sep 26 2007, 22:19
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(sensor_ua @ Sep 26 2007, 19:48) *
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.

Ну... В реалиях этой фичей особо не попользуешься, особенно когда всего 1 порт, и после включения периферии остаются разрозненные, хаотически пронумерованные пины...
IOSET/IOCLR the only way to go в этом случае.

В AVR'е те же 32 пина разбиты на 4 порта, отсюда возможность проектирования девайса так, что можно обойтись без чтения-модификации-записи.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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
|- - allexmor   Цитата(defunct @ Sep 27 2007, 02:19) Ну.....   Sep 27 2007, 04:51
- - 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


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 03:19
Рейтинг@Mail.ru


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