Easyelectronics.ru

Электроника для всех
Текущее время: 20 апр 2018, 02: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
Сообщения: 782
Откуда: Ижевск
Что-то меня переклинило.

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

_________________
Attiny13aПо20р.


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

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

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

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


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

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

_________________
Attiny13aПо20р.


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

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


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

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

_________________
Attiny13aПо20р.


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

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 782
Откуда: Ижевск
если я хочу записать в адрес памяти 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
Сообщения: 2407
Откуда: Санкт-Петербург
volatile uint8_t *px = (volatile uint8_t*)0x5000;
*px = 240;

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

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


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

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


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

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

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


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

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

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

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

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


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

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


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


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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

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