-27 / 0 / 0
Регистрация: 15.12.2019
Сообщений: 311
1

Древовидное меню на stm32

01.11.2023, 18:56. Показов 679. Ответов 14
Метки c++ (Все метки)

Author24 — интернет-сервис помощи студентам
Решил я вершину айсберга брать.Древовидное меню на stm32.Только не знаю с чего начать?.И решил у вас спросить у спецов.Базис древовидного меню на stm32?Каков он базис?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2023, 18:56
Ответы с готовыми решениями:

Древовидное меню
Пишу библиотеку древовидного меню. Заблудился с курсором. Есть меню\подменю, где есть курсор, есть,...

Древовидное меню в Битрикс
Хотелось создать древовидное меню в Битрикс . Как знайте при древовидное меню нужно указывать...

PinBoard и древовидное меню
есть ли на PinBoard место для расширения портов, смогу ли я на нём сделать блок упр....

Не работает древовидное меню Битрикс
Всем привет! Возникла необходимость реализации древовидного (состоящего из двух уровней) меню....

Как реализовать древовидное меню
Народ подскажите, как реализовать древовидное меню по типу пробовал через treeView .. но у...

14
204 / 139 / 23
Регистрация: 26.11.2022
Сообщений: 625
01.11.2023, 19:19 2
Цитата Сообщение от ivan rusev Посмотреть сообщение
не знаю с чего начать?
с подробного описания того что хотите получить.
откуда мы знаем что для вас вершина айсберга
0
-27 / 0 / 0
Регистрация: 15.12.2019
Сообщений: 311
01.11.2023, 20:53  [ТС] 3
Ну для меня загадка как можно одну кнопку использовать в двух вариантах.UP/+ DOUN /-
0
5 / 5 / 2
Регистрация: 02.10.2013
Сообщений: 130
02.11.2023, 09:09 4
Цитата Сообщение от ivan rusev Посмотреть сообщение
Ну для меня загадка как можно одну кнопку использовать в двух вариантах.UP/+ DOUN /-
Тут просто берете таймер, кнопка нажата считаете тики, кнопку отпустили закончили считать тики, далее описываете короткое нажатие вверх, длинное вниз, очень длинное вход. Можно еще считать количество нажатий за интервал времени. ИМХО все это не дружественный интерфейс и простому стороннему пользователю нужно минимум две кнопки, чтобы он не крыл Вас двухэтажным матом.
0
-27 / 0 / 0
Регистрация: 15.12.2019
Сообщений: 311
02.11.2023, 09:59  [ТС] 5
Я имею не одну кнопку использовать как UP и DOUN .А UP и "+" DOUN и "-".Вы имели ввиду что использовать одну кнопку и UP/DOUN через тики таймера .?А SELECT можно использовать чтобы два режима переключались UP/"+"и DOUN/"-"?
0
5 / 5 / 2
Регистрация: 02.10.2013
Сообщений: 130
02.11.2023, 10:13 6
Вы сперва определитесь сколько Вы хотите кнопок. Можно 20 кнопок взять и одну ногу микроконтроллера и через ацп определять какая нажата. Можно расширитель портов ввода вывода прикрутить и опрашивать шину I2C,Вариантов вагон и маленькая тележка. С двумя кнопками можно сделать реакцию на две нажатые одновременно кнопки....
0
-27 / 0 / 0
Регистрация: 15.12.2019
Сообщений: 311
02.11.2023, 10:33  [ТС] 7
Ну по мне 3 кнопки UP /"+" DOUN/"-" SELECT .Если 4 то добавить ESC -выход.Можно и 20 но не нужно.Можно и ацп одну ногу использовать.Но меня интересует как вы переключаете с DOUN на "-" SELECT не является ли ключом?
0
5 / 5 / 2
Регистрация: 02.10.2013
Сообщений: 130
02.11.2023, 12:15 8
Можно взять тот же принцип что в магнитолах, короткое нажатие следующий трек, а длинное нажатие через некоторое время начинает перемотку по треку. Не совсем пойму что именно вы хотите
0
-27 / 0 / 0
Регистрация: 15.12.2019
Сообщений: 311
02.11.2023, 12:45  [ТС] 9
Получается можно одной кнопкой обойтись?

Добавлено через 41 секунду
Или как то через указатель в функции?

Добавлено через 2 минуты
Ну для енкодера этот принцип не подойдёт.
0
5 / 5 / 2
Регистрация: 02.10.2013
Сообщений: 130
02.11.2023, 13:42 10
Цитата Сообщение от ivan rusev Посмотреть сообщение
Получается можно одной кнопкой обойтись?
Добавлено через 41 секунду
Или как то через указатель в функции?
Мухи отдельно котлеты отдельно, для чего вы хотите все на одну кнопку посадить? нет ног у контроллера свободных или габаритами ограничены?
0
Заблокирован
08.11.2023, 21:58 11
ivan rusev, ну что сделал меню?
0
-27 / 0 / 0
Регистрация: 15.12.2019
Сообщений: 311
09.11.2023, 09:27  [ТС] 12
Пока не сделал нужно решить бытовые проблемы.У меня мало информации..Есть информация что на каждое действие прилагается функция а зачем указатель на эту функцию? Вопрос.

Добавлено через 1 минуту
У меня меню для stm32 своё есть. Но оно не правильно сделано.Без указателей.Без функций.
0
21 / 18 / 3
Регистрация: 21.11.2017
Сообщений: 111
09.11.2023, 11:13 13
Цитата Сообщение от ivan rusev Посмотреть сообщение
а зачем указатель на эту функцию?
Считайте, что это адрес, по которому "живет" и запускается эта функция.
А нужна она для выполнения того, что должно исполнится при нажатии на кнопку.

Добавлено через 5 минут
Цитата Сообщение от ivan rusev Посмотреть сообщение
У меня меню для stm32 своё есть. Но оно не правильно сделано.Без указателей.Без функций.
Не правильно - это когда работает не так как задумано.
0
-27 / 0 / 0
Регистрация: 15.12.2019
Сообщений: 311
09.11.2023, 11:38  [ТС] 14
Покажите пример.Если можете.
0
Заблокирован
10.11.2023, 22:23 15
Цитата Сообщение от ivan rusev Посмотреть сообщение
Покажите пример.Если можете.
Продолжи мою мысль и мы вместе создадим крутое меню в мире.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#include <hallo.h>
#define S "%u"
#define I "%u"
#define F "%.2f"
#define C "%s"
 
// LCD module connections
sbit LCD_RS at RD4_bit;
sbit LCD_EN at RD5_bit;
sbit LCD_D4 at RD0_bit;
sbit LCD_D5 at RD1_bit;
sbit LCD_D6 at RD2_bit;
sbit LCD_D7 at RD3_bit;
 
sbit LCD_RS_Direction at TRISD4_bit;
sbit LCD_EN_Direction at TRISD5_bit;
sbit LCD_D4_Direction at TRISD0_bit;
sbit LCD_D5_Direction at TRISD1_bit;
sbit LCD_D6_Direction at TRISD2_bit;
sbit LCD_D7_Direction at TRISD3_bit;
short i, k, t, u=0;
char txt[21];
char tmp[6] = " FSCI";
 
 
#define men_a sizeof(meny_a.mark)
struct meny_a
{
char mark[50];
short S_H;
int I_N;
float F_L;
char C_H[5];
};
struct meny_a meny_a = {" SAmount-> IPrice--> FWieghi-> CName---> ",250,55123,125.33,"name"};
 
void main() 
{
TRISE=0;
ANCON1=0b11111111;
INTCON.INT0IE=1;
INTCON.GIE=1;
INTCON.PEIE=1;
INTCON2.RBPU=0;
hallo();
 
for(i=1; i <= men_a; i++)
{
//==============================================================================
for(k=1; k <= 4; k++)
{
//==============================================================================
if(meny_a.mark[i] == tmp[k])
{
//==============================================================================
switch(tmp[k])
{
case 'F':
t=i+1;
for(t; t <= men_a; t++)
{
if(meny_a.mark[t] == ' ')
{
Lcd_Out(k,1,txt);
memset(txt, '\0', sizeof(txt));
sprintf(txt, F, meny_a.F_L);
Lcd_Out(k,(u+2),txt);
u=0;
break;
}
txt[u] =  meny_a.mark[t];
u++;
}
break;
//==============================================================================
case 'S':
t=i+1;
for(t; t <= men_a; t++)
{
if(meny_a.mark[t] == ' ')
{
Lcd_Out(k,1,txt);
memset(txt, '\0', sizeof(txt));
sprintf(txt, S, meny_a.S_H);
Lcd_Out(k,(u+2),txt);
u=0;
break;
}
txt[u] =  meny_a.mark[t];
u++;
}
break;
//==============================================================================
case 'C':
t=i+1;
for(t; t <= men_a; t++)
{
if(meny_a.mark[t] == ' ')
{
Lcd_Out(k,1,txt);
memset(txt, '\0', sizeof(txt));
sprintf(txt, C, meny_a.C_H);
Lcd_Out(k,(u+2),txt);
u=0;
break;
}
txt[u] =  meny_a.mark[t];
u++;
}
break;
//==============================================================================
case 'I':
t=i+1;
for(t; t <= men_a; t++)
{
if(meny_a.mark[t] == ' ')
{
Lcd_Out(k,1,txt);
memset(txt, '\0', sizeof(txt));
sprintf(txt, I, meny_a.I_N);
Lcd_Out(k,(u+2),txt);
u=0;
break;
}
txt[u] =  meny_a.mark[t];
u++;
}
break;
//==============================================================================
}
break;
}
}
}
//==============================================================================
while(1)
{
 
}
}
 
//==============================================================================
void interrupt() 
{  
if(INTCON.INT0IF)
{
INTCON.INT0IF=0;
LATE=~LATE;
}
}
0
10.11.2023, 22:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2023, 22:23
Помогаю со студенческими работами здесь

Не получается создать древовидное меню
Делаю меню на шаблоне tree. Вставляю вместо ссылки в пункт меню каталог, в котором есть подменю....

XML через PHP> древовидное меню
Есть XML файл например: &lt;?xml version='1.0' standalone='yes'?&gt; &lt;menu&gt; &lt;upravlen&gt; ...

Древовидное меню - как правильно сделать
Здравствуйте. Имеются категории и подкатегории. Подскажите, как вывести древовидное меню такого...

Создать древовидное меню, структура которого хранится в XML-файле
Добрый день. Мне нужно сделать древовидное меню и чтобы оно загружалась из xml файла, подскажите в...

Парни, хочу понять, как делается древовидное меню (код не нужен).
Люди, возникла задача сделать древовидное меню на asp.net webforms &amp; sql server. Ну с таблицей для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru