Easyelectronics.ru

Электроника для всех
Текущее время: 16 окт 2018, 09:44

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



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

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

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

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

_________________
Attiny13aПо20р.


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

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

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

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


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

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

_________________
Attiny13aПо20р.


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

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


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

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

_________________
Attiny13aПо20р.


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

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

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

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


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

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


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

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

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


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

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

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

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

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


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

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


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


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

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


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

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


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

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

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