Например TDA7294

Форум РадиоКот • Просмотр темы - stm32 и переменные в структурах
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн дек 22, 2025 22:47:57

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 31 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: stm32 и переменные в структурах
СообщениеДобавлено: Пн янв 03, 2022 22:45:34 
Мучитель микросхем

Карма: -8
Рейтинг сообщений: -23
Зарегистрирован: Вс дек 29, 2019 08:05:21
Сообщений: 440
Рейтинг сообщения: 0
У меня вопрос захотел я переменные записать в структуру.Возникли проблемы при записи.В структуре нельзя писать = 0 .А как записывать если нужно выставить в ноль или др. число .И ещё одно .Я объявил переменную меню в структуре.При нажатии кнопки выставляю флаг и при отжатии её добавляю ++.Если пишу в структуре то не работает.А если пишу переменную до майна то работает.Да кнопку прописываю в прерывании по таймеру.В обработчике прерываннии по таймеру.Как прописать правильно чтоб работало?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Пн янв 03, 2022 23:07:48 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4595
Откуда: Планета Земля
Рейтинг сообщения: 3
Медали: 1
Получил миской по аватаре (1)
Мдя.... Это финиш....
И как вы только пишите программы ? Так же, как на форуме сообщения ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Пн янв 03, 2022 23:25:25 
Мучитель микросхем

Карма: -8
Рейтинг сообщений: -23
Зарегистрирован: Вс дек 29, 2019 08:05:21
Сообщений: 440
Рейтинг сообщения: 0
Вот так безграмотно и пишу.Я не программист.Но люди которые занимаются программированием советуют писать все переменные в структурах.Как прописывать что бы работало?.Этот майн с AVR. В STM32 такая же беда.


Вложения:
main.c [8.01 KiB]
Скачиваний: 154
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Вт янв 04, 2022 00:01:39 
Собутыльник Кота
Аватар пользователя

Карма: -12
Рейтинг сообщений: -24
Зарегистрирован: Пт июл 12, 2019 22:52:01
Сообщений: 2516
Рейтинг сообщения: 0
Не, так не получится! Чтобы научиться программированию, сначала надо хоть один естественный язык выучить. Можно начать с родного. Но без знания языков точно ничего не получится.

_________________
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Вт янв 04, 2022 00:11:21 
Мучитель микросхем

Карма: -8
Рейтинг сообщений: -23
Зарегистрирован: Вс дек 29, 2019 08:05:21
Сообщений: 440
Рейтинг сообщения: 0
А пример можно практичный? Если не жалко.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Вт янв 04, 2022 00:16:17 
Друг Кота

Карма: 67
Рейтинг сообщений: 1964
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
Но люди которые занимаются программированием советуют писать все переменные в структурах.
Маловероятно, что они именно так советовали.
В приведенном Вами коде нет необходимости применять структуру, она ничего не даёт.
Структура - это некий тип переменной, а не сама переменная. Объявили структуру, затем объявили переменную, тип которой - эта структура (иногда эти процессы объединены в один).

Примеры: https://learnc.info/c/structures.html


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Вт янв 04, 2022 15:16:00 
Мучитель микросхем

Карма: -8
Рейтинг сообщений: -23
Зарегистрирован: Вс дек 29, 2019 08:05:21
Сообщений: 440
Рейтинг сообщения: 0
Но люди которые занимаются программированием советуют писать все переменные в структурах.
Маловероятно, что они именно так советовали.
В приведенном Вами коде нет необходимости применять структуру, она ничего не даёт.
Структура - это некий тип переменной, а не сама переменная. Объявили структуру, затем объявили переменную, тип которой - эта структура (иногда эти процессы объединены в один).

Примеры: https://learnc.info/c/structures.html

Так структура- тип переменой .А тогда вложенные допустим int a int b int c- что это?.А есть пример на контроллерах на СИ.STM32 .AVR?

Добавлено after 6 minutes 22 seconds:
А почему не работает программа .Вот где я накопал https://narodstream.ru/c-urok-25-struktury/.Где сказано. Структура в языке C — это сгруппированные (ая) под одним именем одна или несколько переменных (возможно, различных типов). В качестве этих переменных могут быть также массивы данных, указатели на различные типы данных, также переменные других типов структур и т.д.

Добавлено after 9 minutes 12 seconds:
И как правильно сделать что бы работало?

Добавлено after 5 hours 46 minutes 17 seconds:
с указателем на тип переменных не работает а без указателя работает?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Вт янв 04, 2022 16:02:29 
Друг Кота

Карма: 67
Рейтинг сообщений: 1964
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
Вложенные в структуру int a и т.д. можно назвать её полями. Никто не обещал, что понятие типа обязано быть элементарным, тип int тоже можно назвать структурой, например структурой из 4 байт, или двух слов, или 8 бит и строить дальнейший алгоритм рассматривая его именно так.
Можно понимать и как сгруппированные переменные, хотя как тип значительно удобнее, так как группа - это всего лишь слово, поясняющее, что куча переменных собрана во что-то одно. А вот если считать это типом, то сразу становится понятно, как дальше работать, ведь операции с типом - это всё-таки не операции с какой-то группой. Хотя, конечно, это может быть субъективно, и кому-то группа более понятна.
То есть, если описана некая структура, например, mystruct, то можно объявит переменную а типа mystruct, передать её в функцию и получить как результат функции и т.д. То есть, вместо передачи кучи полей (отдельных переменных) можно передать одну. Это очень удобно.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Вт янв 04, 2022 19:21:51 
Мучитель микросхем

Карма: -8
Рейтинг сообщений: -23
Зарегистрирован: Вс дек 29, 2019 08:05:21
Сообщений: 440
Рейтинг сообщения: 0
[code][/code]
struct
{
volatile unsign menu_btn;
volatile char menu_lcd;


}nastroyki;
вот так работает
if(nastroyki.menu_lcd==0)
{

}

struct
{
//volatile unsign menu_btn;
volatile char menu_lcd;


}*nastroyki;
а вот так не работает.
if(nastroyki->menu_btn==0)
{
}
почему так не работает?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Вт янв 04, 2022 19:30:57 
Собутыльник Кота
Аватар пользователя

Карма: -12
Рейтинг сообщений: -24
Зарегистрирован: Пт июл 12, 2019 22:52:01
Сообщений: 2516
Рейтинг сообщения: 0
А почитать К&Р - не судьба? Точка - доступ к компоненту структуры, стрелочка - по указателю на структуру.

_________________
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Вт янв 04, 2022 19:45:45 
Мучитель микросхем

Карма: -8
Рейтинг сообщений: -23
Зарегистрирован: Вс дек 29, 2019 08:05:21
Сообщений: 440
Рейтинг сообщения: 0
А почитать К&Р - не судьба? Точка - доступ к компоненту структуры, стрелочка - по указателю на структуру.

Я чего то считал что стрелочка что стрелочка тоже делает доступ к компонентам структыры но через указатель .Если неправильно то как правильно?В гитабе много файлов а где который мне нужно как называется?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Вт янв 04, 2022 19:49:28 
Друг Кота

Карма: 67
Рейтинг сообщений: 1964
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
Вам не файл нужен, а учебник по программированию. Например, "Самоучитель С++" Герберта Шилдта. Специально положил здесь в "Сундук": https://sunduk.radiokot.ru/view/?id=1641315192


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Вт янв 04, 2022 20:08:47 
Мучитель микросхем

Карма: -8
Рейтинг сообщений: -23
Зарегистрирован: Вс дек 29, 2019 08:05:21
Сообщений: 440
Рейтинг сообщения: 0
Вам не файл нужен, а учебник по программированию. Например, "Самоучитель С++" Герберта Шилдта. Специально положил здесь в "Сундук": https://sunduk.radiokot.ru/view/?id=1641315192

Учебник нужен но про указатели на элементы структуры там нет этой инфы.STM32 AVR компилятор подерживает C .Не все команды C++ подойдут для контроллеров.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Вт янв 04, 2022 20:28:15 
Друг Кота

Карма: 67
Рейтинг сообщений: 1964
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
ну, вот здесь практически всё: https://cpp.com.ru/kr_cbook/ch6kr.html


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Вт янв 04, 2022 22:48:32 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4595
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
про указатели на элементы структуры там нет этой инфы
Нас тролят ?
Вот, прям буква в букву, ваша фраза - тынц
Вам инфы мало ? :facepalm:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Вт янв 04, 2022 23:32:20 
Мучитель микросхем

Карма: -8
Рейтинг сообщений: -23
Зарегистрирован: Вс дек 29, 2019 08:05:21
Сообщений: 440
Рейтинг сообщения: 0
Я живу на Украине.Яндекс закрыт по полетическим причинам.Но понял что структуру можно использовать но не с указателем на структуру.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Вт янв 04, 2022 23:41:29 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4595
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Я живу на Украине.Яндекс закрыт
Сделать это за вас ? - тынц


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Ср янв 05, 2022 00:14:25 
Мучитель микросхем

Карма: -8
Рейтинг сообщений: -23
Зарегистрирован: Вс дек 29, 2019 08:05:21
Сообщений: 440
Рейтинг сообщения: 0
Спасибо Alex .С Новым годом и Рождеством Христовым!.З Новим роком та Різдвом Христовим!.Я понял свою ошибку.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Чт янв 06, 2022 11:29:43 
Открыл глаза

Зарегистрирован: Вс мар 21, 2021 11:06:04
Сообщений: 41
Рейтинг сообщения: 0
[code][/code]

struct
{
//volatile unsign menu_btn;
volatile char menu_lcd;


}*nastroyki;
а вот так не работает.
if(nastroyki->menu_btn==0)
{
}
почему так не работает?

Вы пробовали проговорить человеческим языком (русским, украинским - не важно) то, что написали? Вы создали переменную типа указатель на структуру. Дальше начали сразу работать с ней. Т.е. пытаетесь получить доступ к члену (полю) структуры по указателю на структуру. А чему у вас равен указатель на структуру? На что он указывает? Где вы создали объект структуры в памяти? Где вы устанавливаете на него ваш указатель? Как вы собираетесь работать с переменной структурного типа не создав её и не установив на неё ваш указатель?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32 и переменные в структурах
СообщениеДобавлено: Чт янв 06, 2022 23:08:02 
Мучитель микросхем

Карма: -8
Рейтинг сообщений: -23
Зарегистрирован: Вс дек 29, 2019 08:05:21
Сообщений: 440
Рейтинг сообщения: 0
Вы правильно всё поняли.Только в моём случае .Я не могу создавать программу таким образом.Так как указатель на элементы структуры
Не работают элементы так как я думал.Переменная занимает одну ячейку памяти.По простому сказать.Можно просто структуру создать.Тогда переменные можно произвести увилечение и уменьшение i++;i--;Эту операцию нелзя выполнить когда стоит указатель на структуру.Наверное можно .Но нужно выполнить больше операций.Точно не могу сказать.Просто в практике не сталкивался.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  1,  

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


Кто сейчас на форуме

Сейчас этот форум просматривают: shalfey и гости: 19


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

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


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y