Easyelectronics.ru

Электроника для всех
Текущее время: 23 июл 2018, 07:23

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Как на Си будет выглядеть запись\чтение ячейки памяти ?
СообщениеДобавлено: 04 дек 2017, 22:32 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 940
Откуда: Ижевск
Что-то меня переклинило.

Мне надо в ячейку памяти адрес которой задаётся в переменной "Adress" записать байт данных или слово. которое содержится в переменной "data"
ну типа LD Adress, data
Сделать

_________________
Attiny13aПо20р.


Последний раз редактировалось selevo 04 дек 2017, 22:38, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как на Си будет выглядеть запись\чтение ячейки памяти ?
СообщениеДобавлено: 04 дек 2017, 22:36 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1970
uint8_t *ptr = address; /// это адрес конкретной ячейк
*ptr = data; // записали в неёйную
data = *ptr; // а это обратно прочитали оттудава всюда

Работа с указателями, кароч


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как на Си будет выглядеть запись\чтение ячейки памяти ?
СообщениеДобавлено: 04 дек 2017, 22:43 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 940
Откуда: Ижевск
дык это же просто аналог массива которому резервируется место непонятно где,а мне надо физический адрес ячейки памяти.
Или это всё таки физический адрес в микроконтроллере будет задан ?

_________________
Attiny13aПо20р.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как на Си будет выглядеть запись\чтение ячейки памяти ?
СообщениеДобавлено: 04 дек 2017, 22:50 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1970
Нужен конкретный адрес? Напишите его циферками конкретно вместо слова address


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как на Си будет выглядеть запись\чтение ячейки памяти ?
СообщениеДобавлено: 04 дек 2017, 23:19 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 940
Откуда: Ижевск
ладно,спасибо.
Никогда раньше не задумывался об указателях.
Почитаю.

_________________
Attiny13aПо20р.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как на Си будет выглядеть запись\чтение ячейки памяти ?
СообщениеДобавлено: 05 дек 2017, 00:06 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 940
Откуда: Ижевск
если я хочу записать в адрес памяти 0x00 5000
значение 240
мне надо
uint8_t *ptr = address; /// это адрес конкретной ячейк
uint8_t data;
address=0x00 5000;
data=240;
*ptr = data;

или сначала uint8_t *ptr = address;
а потом *ptr = data;


тоесть это для stm8s003
будет аналогично

PA_ODR=240;

так ?

А что означает символ @ ?

в строке :
volatile char PA_ODR @0x5000; /* Data Output Latch reg */
файла iostm8s103.h

_________________
Attiny13aПо20р.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как на Си будет выглядеть запись\чтение ячейки памяти ?
СообщениеДобавлено: 05 дек 2017, 00:21 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2472
Откуда: Санкт-Петербург
volatile uint8_t *px = (volatile uint8_t*)0x5000;
*px = 240;

volatile - чтобы точно записало, а не отложило на потом.
Фигня со скобками - приведение числа к указателю

Вообще посмотрите, как в библиотеке от мк описаны его регистры - хороший образец для подражания.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как на Си будет выглядеть запись\чтение ячейки памяти ?
СообщениеДобавлено: 05 дек 2017, 11:37 
Старожил

Зарегистрирован: 16 ноя 2012, 07:47
Сообщения: 2657
Интересно, как вы раньше без указателей жили в Си. Они же везде.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как на Си будет выглядеть запись\чтение ячейки памяти ?
СообщениеДобавлено: 05 дек 2017, 11:43 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 21:48
Сообщения: 3737
Откуда: Звенигород
Скорее всего через массивы. Те же указатели, но выгладят по другому. По мне наглядней))

_________________
От Парижа до Находки с водкой лучше, чем без водки!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как на Си будет выглядеть запись\чтение ячейки памяти ?
СообщениеДобавлено: 05 дек 2017, 12:07 
Старожил

Зарегистрирован: 06 фев 2011, 15:16
Сообщения: 613
Откуда: Челябинск
selevo писал(а):

А что означает символ @ ?

в строке :
volatile char PA_ODR @0x5000; /* Data Output Latch reg */
файла iostm8s103.h

В IAR Си имеется возможность привязки переменных к физическим адресам памяти. Это делается посредством символа '@'. В данном случае объявлен порт, адрес которого взят из соответствующего документа.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как на Си будет выглядеть запись\чтение ячейки памяти ?
СообщениеДобавлено: 05 дек 2017, 15:19 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 4784
Hold писал(а):
Интересно, как вы раньше без указателей жили в Си. Они же везде.


selevo? Да он о Си второй день как узнал...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB