|
Узнал новое о GPIO портах AVR |
|
|
|
Oct 16 2012, 05:49
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата из даташита на atmega1281 Цитата 13.2.2 Toggling the Pin Writing a logic one to PINxn toggles the value of PORTxn, independent on the value of DDRxn. Note that the SBI instruction can be used to toggle one single bit in a port. Забавно, но в достаточно свежих мегах эта фича есть, а в старых мегах типа mega16,64,128 не было, поэтому не обращал внимания. А так получается за один такт можно атомарно инвертировать несколько бит в порту например так PINA = (1<<7)|(1<<0); Может кому-нибудь пригодится..
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
 |
Ответов
|
Oct 26 2012, 09:47
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(ILYAUL @ Oct 16 2012, 12:40)  Помоему они нашли свой баг и решили сделать из него себе большой ПЛЮС Вы неправы. Появилось это в atmega88, вместе со второй фичей. Её здесь не обсуждают. Обе без пыли и шума. Вторая это: Цитата The ATmega48/88/168 contains three General Purpose I/O Registers. These registers can be used for storing any information, and they are particularly useful for storing global variables and Status Flags. General Purpose I/O Registers within the address range 0x00 - 0x1F are directly bit-accessible using the SBI, CBI, SBIS, and SBIC instructions. То есть опять же для атомарного доступа. И то и другое достаточно удобно. Правда почти не работаю уже с atmel
|
|
|
|
|
Oct 26 2012, 15:50
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(SasaVitebsk @ Oct 26 2012, 13:47)  ..... General Purpose I/O Registers Ну это уже обсуждалось и по-моему не раз Кстати пасибо , что напомнили , вот они тут же и пригодились.  Забываешь, что они где-то , но всё таки есть
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
Сообщений в этой теме
demiurg_spb Узнал новое о GPIO портах AVR Oct 16 2012, 05:49 kovigor Цитата(demiurg_spb @ Oct 16 2012, 08:49) ... Oct 16 2012, 07:31 demiurg_spb Цитата(kovigor @ Oct 16 2012, 11:31) заче... Oct 16 2012, 07:42 _Pasha Цитата(kovigor @ Oct 16 2012, 10:31) Пока... Oct 16 2012, 08:04  demiurg_spb Цитата(_Pasha @ Oct 16 2012, 12:04) Верно... Oct 16 2012, 08:14 SasaVitebsk Ну вы и даёте. Это было уже в меге88 лет 6 назад. Oct 16 2012, 07:47 demiurg_spb Цитата(SasaVitebsk @ Oct 16 2012, 11:47) ... Oct 16 2012, 07:53 V_G В xmega-х изначально есть регистры OUTTGL и DIRTGL... Oct 16 2012, 12:51 Genadi Zawidowski Ну в тех кусках, которые "ногодрыганием... Oct 16 2012, 20:45 LexaK ЦитатаПодумал что я не одинок в этом незнании (дум... Oct 21 2012, 07:37 ReAl Вот в этом pin_macros.h я стараюсь поддерживать сп... Oct 21 2012, 11:50 demiurg_spb Цитата(ReAl @ Oct 21 2012, 15:50) я стара... Oct 22 2012, 05:26 ReAl Цитата(demiurg_spb @ Oct 22 2012, 08:26) ... Oct 22 2012, 15:41 Сергей Борщ QUOTE (ReAl @ Oct 22 2012, 18:41) Надо ка... Oct 22 2012, 19:05 ILYAUL Кодsbi PINx,n будет получше чем
ldi R, (1... Oct 22 2012, 17:50 demiurg_spb Цитата(ILYAUL @ Oct 22 2012, 21:50) а sbi... Oct 23 2012, 05:18  ILYAUL Цитата(demiurg_spb @ Oct 23 2012, 09:18) ... Oct 24 2012, 12:00   ae_ Цитата(ILYAUL @ Oct 24 2012, 21:00) cli P... Oct 25 2012, 02:57   demiurg_spb Цитата(ILYAUL @ Oct 24 2012, 16:00) cli P... Oct 25 2012, 05:20 ILYAUL Цитатаcli - опечатка, cbi Конечно.
Цитатавместо ..... Oct 25 2012, 05:58 ReAl Мало того, что атомарный доступ, еще и флаги при э... Oct 26 2012, 17:53 SasaVitebsk А где используется? ...
Я делал bootloader для at... Oct 26 2012, 18:47
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|