Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.51/65: Рейтинг темы: голосов - 65, средняя оценка - 4.51
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 65

Как запустить и обеспечить полноценную работу QBasic в Windows?

07.04.2018, 21:30. Показов 16813. Ответов 156
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как запустить и обеспечить полноценную работу q basic в windows. Если это возможно. у самого - в малое нетрансформируемое окно с проблемами редактирования и русификации
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.04.2018, 21:30
Ответы с готовыми решениями:

Как запустить QBasic на Windows 7
Доброго дня. Подскажите пожалуйста где скачать qBasic для 7 винды) Поискав в поиске нашел сайт intmain.ru/qbasic.html(не реклама),...

Как установить или запустить Qbasic на Windows 7
не получаеться установить Qbasic выдает ошибку о несовместимости, где можно найти программу совместимую с windows7? или как обойти эту...

Запустить bin файл как полноценную программу
Здравствуйте, дорогие программеры)))) И так к проблеме. Начнем с того что bin файл который я хочу запустит изначально является...

156
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
20.04.2018, 11:33
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от locm Посмотреть сообщение
Микроконтроллер?
Да.

невозможность работы в реальном времени
Народ что вы вкладываете в это понятие?

Это?
https://ru.wikipedia.org/wiki/... го_времени
https://ru.wikipedia.org/wiki/... го_времени
Ну так DOS и есть операционная система реального времени.

Сам имею в виду производительность(это к словам о невозможности).
Для многих RealTime задач её может не хватить. Дешёвые микроконтроллеры - они вообще
вялые по MIPS. У них там генератор - пара мегагерц и всё. Это аналоги ПК 30-ти летней давности.
Они для совсем примитивных задач. Есть конечно те, что и посильнее. Но для производства часто
это не нужно, берут дешёвые. Чтобы снять показания с датчиков, чтобы запустить какой-либо
технологич. процесс автоматически.
Писать в порты так это вообще лофа, коли есть чёткая документированная спецификация.

Цитата Сообщение от Pro_grammer Посмотреть сообщение
Можно ещё сразу в магазине выбрать ноутбук с DOS, сейчас таких много продают ради экономии на ОС.
Можно даже игровой, тысяч за 200 или дороже. ОС другую не ставить, а только QBasic, и TurboPascal и FreePascal. И кодить, кодить, кодить...
После того как увидел насколько дерьмово двухъядерки работают с последней виндой,
приходит чёткое понимание, что DOS на этих машинах будет работать раз в 10 быстрее
даже без хардвара. Печально, но факт.
К слову на двухъядерках на видеокарте 2007 года можно спокойно гонять во второй халф лайф
без тормозов(со стабильными 60 FPS). Но при этом десятая винда испепеляет эти камни
в прах. Слайдшоу на обычном интерфейсе визуально 2D - это ссучий стыд так разбазаривать ЦП,
что его не хватает даже для коммуникации с хардваром.
Т.е. так понял ядро и все сервисы системы там были переписаны на каком-то адском дерьме
индусами извращенцами.
0
Эксперт по электронике
7140 / 3320 / 341
Регистрация: 28.10.2011
Сообщений: 13,058
Записей в блоге: 7
20.04.2018, 12:17
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Дешёвые микроконтроллеры - они вообще вялые по MIPS.
Какие имеются в виду?
Например 32-ух битный МК STM32F030F4P6 стоимостью 0.4$ имеет производительность около 44 MIPS.
У чуть более дорогого (примерно 1.2$) STM32F103C8T6 производительность 90 MIPS, а если разогнать будет 160 MIPS.
У STM32F446VET6 стоимостью 6$ производительность 225 MIPS.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
У них там генератор - пара мегагерц и всё.
Есть умножитель, который эти пару МГц увеличит до несколько десятков, или сотен МГц.
Во вложении две картинки. На одной видно как умножитель повышает частоту с 8 до 72 МГц, а на другой с 8 до 200 МГц.
Миниатюры
Как запустить и обеспечить полноценную работу QBasic в Windows?   Как запустить и обеспечить полноценную работу QBasic в Windows?  
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
20.04.2018, 13:18
Цитата Сообщение от locm Посмотреть сообщение
Какие имеются в виду?
Те что на слуху у всех, дешёвые AVR-ки.

locm, для меня эти электротехнические схемы как для свиньи апельсины.
Я ж эта, программиист, а не электротехник.
Цитата Сообщение от locm Посмотреть сообщение
МК STM32F030F4P6 стоимостью 0.4$
Где такие цены?
Тут 2 бакса: https://ru.mouser.com/ProductD... aI6g%3D%3D
Тут 50 рублей: https://www.chipdip.ru/product/stm32f030f4p6
Тут тоже 55р: https://www.promelec.ru/product/155712/
Дальше в гугл не полез рыть, но может где-то в редких местах и есть.

Цитата Сообщение от locm Посмотреть сообщение
У STM32F446VET6 стоимостью 6$ производительность 225 MIPS.
Intel Pentium188 MIPS at 100 MHz1.881994
Т.е. что-то около десктопа 95-го года.
К этим МК ассемблер есть?

Для производства это сильный избыток. А для каких-либо цифровых устройств в ходу чипы
производительнее и дороже. Гнать чипы - ну не знаю, это всегда риск нестабильной работы.
0
Модератор
10061 / 3906 / 885
Регистрация: 22.02.2013
Сообщений: 5,856
Записей в блоге: 79
20.04.2018, 13:35
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Те что на слуху у всех, дешёвые AVR-ки.
А что ты хотел от 8-битных контроллеров? У них на некоторых (tiny) даже аппаратного умножения нет. В большинстве случаев и задач они свою функцию выполняют.
Обычно большая производительность в периферии нужна бывает для DSP, там обычно используют ПЛИС, а не контроллеры.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
20.04.2018, 13:44
Цитата Сообщение от The trick Посмотреть сообщение
В большинстве случаев и задач они свою функцию выполняют.
Про это и пытаюсь сказать, что для этого легко сгодится и МК на intel-овой базе.
Особенно если человек этой базой владеет ему проще писать сразу на нём, чем брать
какой-либо другой вид МК. DOS в этом плане нормальная ОС, от которой ничего большего
и не требуется, эта прослойка отвечает лишь за периферию по большей части.

Т.е. применимость или неприменимость это не то что где-то в серийном производстве
устройств закупают оптом и ставят чипы. Применить можно в любом производстве.
0
Модератор
10061 / 3906 / 885
Регистрация: 22.02.2013
Сообщений: 5,856
Записей в блоге: 79
20.04.2018, 13:51
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Про это и пытаюсь сказать, что для этого легко сгодится и МК на intel-овой базе.
Какой именно МК?

Цитата Сообщение от Quiet Snow Посмотреть сообщение
DOS в этом плане нормальная ОС, от которой ничего большего и не требуется, эта прослойка отвечает лишь за периферию по большей части.
Т.е., насколько я понял, это то что предлагает Pro_grammer?
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Можно ещё сразу в магазине выбрать ноутбук с DOS, сейчас таких много продают ради экономии на ОС.
Можно даже игровой, тысяч за 200 или дороже. ОС другую не ставить, а только QBasic, и TurboPascal и FreePascal. И кодить, кодить, кодить...
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
20.04.2018, 14:17
Цитата Сообщение от The trick Посмотреть сообщение
Т.е., насколько я понял, это то что предлагает Pro_grammer?
Не знаю что предлагает Pro_grammer,
locm предлагает забыть про DOS и использовать современные МК, это понятно.
Vladimir1982, говорит что язык неактуален, но Vodav успешно применил в производстве МК
с QuickBasic PDS.
Мои мысли идут в русле того, что как Desktop вариант - MS-DOS устарел в начале 2000-х годов,
прожив ещё несколько лет, до того момента когда, железо перестало нормально запускать
программы DOS с оболочки Windows из-за проблем с NTVDM(это драйверы, новые чипсеты и т.д.).
Но как раз в производстве это всё вполне себе применимо, специалистами которые работали
с данной ОС и хорошо её знают.

Ну и разумеется для обучения это тоже вполне себе применяется. Потому что уровень
халатности прикладников растёт в геометрической прогрессии, на всём этом фоне модульное 3GL
смотрится очень выгодно и одинаково перспективно(не вижу каких-либо даже малейших
проблем при кодинге всего руками правильно и корректно, чему, считаю и нужно учить).

Цитата Сообщение от The trick Посмотреть сообщение
Какой именно МК?
Специально прошёл в поиск и нашёл, vodav писал про этот:
http://www.plcsystems.ru/catal... hp?ID=1659
0
Модератор
10061 / 3906 / 885
Регистрация: 22.02.2013
Сообщений: 5,856
Записей в блоге: 79
20.04.2018, 14:23
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Vladimir1982, говорит что язык неактуален, но Vodav успешно применил в производстве МК
с QuickBasic PDS.
Это понятно, но это не легко (на мой взгляд, т.к. я не знаю что за устройство).

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Специально прошёл в поиск и нашёл, vodav писал про этот:
http://www.plcsystems.ru/catal... hp?ID=1659
Ну так можно и дешевый ноутбук/кпк купить и поставить туда DOS. Даже дешевле выйдет, судя по цене на это устройство.

Не знаю что за устройство он собирал, но думаю на STM32 это вышло-бы гораздо дешевле (или даже возможно на AVR). К тому же есть более дешевые решения для этого наподобие Omega2 – Onion и т.п. с кучей периферии Wi-fi и т.п и др.
0
Эксперт по электронике
7140 / 3320 / 341
Регистрация: 28.10.2011
Сообщений: 13,058
Записей в блоге: 7
20.04.2018, 15:38
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Те что на слуху у всех, дешёвые AVR-ки.
За те же деньги можно купить более производительные и функциональные микроконтроллеры с ядром ARM.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Где такие цены?
В Китае на Али например https://ru.aliexpress.com/item... 47332.html

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Т.е. что-то около десктопа 95-го года.
Это не комп, а микроконтроллер. В одной микросхеме находится все что необходимо, а именно процессорное ядро (ARM Cortex-M), ПЗУ (Flash), ОЗУ и много периферийных модулей - таймеры, USART, SPI, I2C, I2S, АЦП, ЦАП, DMA, USB, CAN, Ethernet, RTC, SDIO, FSMC и др.
В компе это находится в разных микросхемах/платах, а не в одной, занимает места, а также потребляет энергии гораздо больше чем микроконтроллер.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
К этим МК ассемблер есть?
Есть. Выглядит примерно так (файл startup_stm32f10x_ld.S из этого проекта с которого начинается выполнение программы и содержащий таблицу прерываний и асм код начальной инициализации и очистки памяти).
Кликните здесь для просмотра всего текста
Assembler
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
    .syntax unified
    .arch armv7-m
 
    .section .stack
    .align 3
#ifdef __STACK_SIZE
    .equ    Stack_Size, __STACK_SIZE
#else
    .equ    Stack_Size, 0x400
#endif
    .globl    __StackTop
    .globl    __StackLimit
__StackLimit:
    .space    Stack_Size
    .size __StackLimit, . - __StackLimit
__StackTop:
    .size __StackTop, . - __StackTop
 
    .section .heap
    .align 3
#ifdef __HEAP_SIZE
    .equ    Heap_Size, __HEAP_SIZE
#else
    .equ    Heap_Size, 0xC00
#endif
    .globl    __HeapBase
    .globl    __HeapLimit
__HeapBase:
    .if    Heap_Size
    .space    Heap_Size
    .endif
    .size __HeapBase, . - __HeapBase
__HeapLimit:
    .size __HeapLimit, . - __HeapLimit
 
    .section .isr_vector
    .align 2
    .globl __isr_vector
__isr_vector:
    .long    __StackTop            /* Top of Stack */
    .long    Reset_Handler         /* Reset Handler */
    .long    NMI_Handler           /* NMI Handler */
    .long    HardFault_Handler     /* Hard Fault Handler */
    .long    MemManage_Handler     /* MPU Fault Handler */
    .long    BusFault_Handler      /* Bus Fault Handler */
    .long    UsageFault_Handler    /* Usage Fault Handler */
    .long    0                     /* Reserved */
    .long    0                     /* Reserved */
    .long    0                     /* Reserved */
    .long    0                     /* Reserved */
    .long    SVC_Handler           /* SVCall Handler */
    .long    DebugMon_Handler      /* Debug Monitor Handler */
    .long    0                     /* Reserved */
    .long    PendSV_Handler        /* PendSV Handler */
    .long    SysTick_Handler       /* SysTick Handler */
 
                // External Interrupts
    .long    WWDG_IRQHandler            // Window Watchdog
    .long    PVD_IRQHandler             // PVD through EXTI Line detect
    .long    TAMPER_IRQHandler          // Tamper
    .long    RTC_IRQHandler             // RTC
    .long    FLASH_IRQHandler           // Flash
    .long    RCC_IRQHandler             // RCC
    .long    EXTI0_IRQHandler           // EXTI Line 0
    .long    EXTI1_IRQHandler           // EXTI Line 1
    .long    EXTI2_IRQHandler           // EXTI Line 2
    .long    EXTI3_IRQHandler           // EXTI Line 3
    .long    EXTI4_IRQHandler           // EXTI Line 4
    .long    DMA1_Channel1_IRQHandler   // DMA1 Channel 1
    .long    DMA1_Channel2_IRQHandler   // DMA1 Channel 2
    .long    DMA1_Channel3_IRQHandler   // DMA1 Channel 3
    .long    DMA1_Channel4_IRQHandler   // DMA1 Channel 4
    .long    DMA1_Channel5_IRQHandler   // DMA1 Channel 5
    .long    DMA1_Channel6_IRQHandler   // DMA1 Channel 6
    .long    DMA1_Channel7_IRQHandler   // DMA1 Channel 7
    .long    ADC1_2_IRQHandler          // ADC1_2
    .long    USB_HP_CAN1_TX_IRQHandler  // USB High Priority or CAN1 TX
    .long    USB_LP_CAN1_RX0_IRQHandler // USB Low  Priority or CAN1 RX0
    .long    CAN1_RX1_IRQHandler        // CAN1 RX1
    .long    CAN1_SCE_IRQHandler        // CAN1 SCE
    .long    EXTI9_5_IRQHandler         // EXTI Line 9..5
    .long    TIM1_BRK_IRQHandler        // TIM1 Break
    .long    TIM1_UP_IRQHandler         // TIM1 Update
    .long    TIM1_TRG_COM_IRQHandler    // TIM1 Trigger and Commutation
    .long    TIM1_CC_IRQHandler         // TIM1 Capture Compare
    .long    TIM2_IRQHandler            // TIM2
    .long    TIM3_IRQHandler            // TIM3
    .long    0                          // Reserved
    .long    I2C1_EV_IRQHandler         // I2C1 Event
    .long    I2C1_ER_IRQHandler         // I2C1 Error
    .long    0                          // Reserved
    .long    0                          // Reserved
    .long    SPI1_IRQHandler            // SPI1
    .long    0                          // Reserved
    .long    USART1_IRQHandler          // USART1
    .long    USART2_IRQHandler          // USART2
    .long    0                          // Reserved
    .long    EXTI15_10_IRQHandler       // EXTI Line 15..10
    .long    RTCAlarm_IRQHandler        // RTC Alarm through EXTI Line
    .long    USBWakeUp_IRQHandler       // USB Wakeup from suspend
 
    .size    __isr_vector, . - __isr_vector
 
    .text
    .thumb
    .thumb_func
    .align 2
    .globl    Reset_Handler
    .type    Reset_Handler, %function
Reset_Handler:
/*     Loop to copy data from read only memory to RAM. The ranges
 *      of copy from/to are specified by following symbols evaluated in
 *      linker script.
 *      __etext: End of code section, i.e., begin of data sections to copy from.
 *      __data_start__/__data_end__: RAM address range that data should be
 *      copied to. Both must be aligned to 4 bytes boundary.  */
 
    ldr    r1, =__etext
    ldr    r2, =__data_start__
    ldr    r3, =__data_end__
 
#if 1
/* Here are two copies of loop implemenations. First one favors code size
 * and the second one favors performance. Default uses the first one.
 * Change to "#if 0" to use the second one */
.flash_to_ram_loop:
    cmp     r2, r3
    ittt    lt
    ldrlt   r0, [r1], #4
    strlt   r0, [r2], #4
    blt    .flash_to_ram_loop
#else
    subs    r3, r2
    ble    .flash_to_ram_loop_end
.flash_to_ram_loop:
    subs    r3, #4
    ldr    r0, [r1, r3]
    str    r0, [r2, r3]
    bgt    .flash_to_ram_loop
.flash_to_ram_loop_end:
#endif
 
#ifndef __NO_SYSTEM_INIT
    ldr    r0, =SystemInit
    blx    r0
#endif
 
    ldr    r0, =_start
    bx    r0
    .pool
    .size Reset_Handler, . - Reset_Handler
 
/* Our weak _start alternative if we don't use the library _start
 * The zero init section must be cleared, otherwise the librtary is
 * doing that */
    .align 1
    .thumb_func
    .weak _start
    .type _start, %function
_start:
 
    /* Zero fill the bss segment. */
    ldr   r1, = __bss_start__
    ldr   r2, = __bss_end__
    movs  r3, #0
    b  .fill_zero_bss
.loop_zero_bss:
    str  r3, [r1], #4
 
.fill_zero_bss:
    cmp  r1, r2
    bcc  .loop_zero_bss
 
    /* Jump to our main */
    bl main
    b .
    .size    _start, . - _start
 
/*    Macro to define default handlers. Default handler
 *    will be weak symbol and just dead loops. They can be
 *    overwritten by other handlers */
    .macro    def_irq_handler    handler_name
    .align 1
    .thumb_func
    .weak    \handler_name
    .type    \handler_name, %function
\handler_name :
    b    .
    .size    \handler_name, . - \handler_name
    .endm
 
    def_irq_handler    NMI_Handler
    def_irq_handler    HardFault_Handler
    def_irq_handler    MemManage_Handler
    def_irq_handler    BusFault_Handler
    def_irq_handler    UsageFault_Handler
    def_irq_handler    SVC_Handler
    def_irq_handler    DebugMon_Handler
    def_irq_handler    PendSV_Handler
    def_irq_handler    SysTick_Handler
    def_irq_handler    Default_Handler
 
                // External Interrupts
    def_irq_handler    WWDG_IRQHandler            // Window Watchdog
    def_irq_handler    PVD_IRQHandler             // PVD through EXTI Line detect
    def_irq_handler    TAMPER_IRQHandler          // Tamper
    def_irq_handler    RTC_IRQHandler             // RTC
    def_irq_handler    FLASH_IRQHandler           // Flash
    def_irq_handler    RCC_IRQHandler             // RCC
    def_irq_handler    EXTI0_IRQHandler           // EXTI Line 0
    def_irq_handler    EXTI1_IRQHandler           // EXTI Line 1
    def_irq_handler    EXTI2_IRQHandler           // EXTI Line 2
    def_irq_handler    EXTI3_IRQHandler           // EXTI Line 3
    def_irq_handler    EXTI4_IRQHandler           // EXTI Line 4
    def_irq_handler    DMA1_Channel1_IRQHandler   // DMA1 Channel 1
    def_irq_handler    DMA1_Channel2_IRQHandler   // DMA1 Channel 2
    def_irq_handler    DMA1_Channel3_IRQHandler   // DMA1 Channel 3
    def_irq_handler    DMA1_Channel4_IRQHandler   // DMA1 Channel 4
    def_irq_handler    DMA1_Channel5_IRQHandler   // DMA1 Channel 5
    def_irq_handler    DMA1_Channel6_IRQHandler   // DMA1 Channel 6
    def_irq_handler    DMA1_Channel7_IRQHandler   // DMA1 Channel 7
    def_irq_handler    ADC1_2_IRQHandler          // ADC1_2
    def_irq_handler    USB_HP_CAN1_TX_IRQHandler  // USB High Priority or CAN1 TX
    def_irq_handler    USB_LP_CAN1_RX0_IRQHandler // USB Low  Priority or CAN1 RX0
    def_irq_handler    CAN1_RX1_IRQHandler        // CAN1 RX1
    def_irq_handler    CAN1_SCE_IRQHandler        // CAN1 SCE
    def_irq_handler    EXTI9_5_IRQHandler         // EXTI Line 9..5
    def_irq_handler    TIM1_BRK_IRQHandler        // TIM1 Break
    def_irq_handler    TIM1_UP_IRQHandler         // TIM1 Update
    def_irq_handler    TIM1_TRG_COM_IRQHandler    // TIM1 Trigger and Commutation
    def_irq_handler    TIM1_CC_IRQHandler         // TIM1 Capture Compare
    def_irq_handler    TIM2_IRQHandler            // TIM2
    def_irq_handler    TIM3_IRQHandler            // TIM3
    def_irq_handler    I2C1_EV_IRQHandler         // I2C1 Event
    def_irq_handler    I2C1_ER_IRQHandler         // I2C1 Error
    def_irq_handler    SPI1_IRQHandler            // SPI1
    def_irq_handler    USART1_IRQHandler          // USART1
    def_irq_handler    USART2_IRQHandler          // USART2
    def_irq_handler    EXTI15_10_IRQHandler       // EXTI Line 15..10
    def_irq_handler    RTCAlarm_IRQHandler        // RTC Alarm through EXTI Line
    def_irq_handler    USBWakeUp_IRQHandler       // USB Wakeup from suspend
 
    .end


Цитата Сообщение от Quiet Snow Посмотреть сообщение
Для производства это сильный избыток.
Если цена около 200 рублей то в чем избыток? Или лучше купить микроконтроллер за туже цену, но с гораздо меньшей производительностью?

Цитата Сообщение от Quiet Snow Посмотреть сообщение
locm предлагает забыть про DOS и использовать современные МК, это понятно.
Зачем нужна DOS для МК? Программа пишется под железо. В МК даже биоса нет и необходимо работать непосредственно с его регистрами, но это не сложно. Вот к примеру описание регистров портов ввода/вывода GPIO. http://catethysis.ru/stm32-gpio/

Для STM32 можно писать на бейсике mikroBasic. Код мигающий светодиодом, подключенным к порту PC13.
PureBasic
1
2
3
4
5
6
7
8
9
10
11
program Test
 
dim x as byte
 
main:
  GPIO_Digital_Output(@GPIOC_BASE, _GPIO_PINMASK_13) 'PC.13 настраивается как выход.
  while TRUE
    GPIOC_ODR.13 = NOT GPIOC_ODR.13                  ' Инвертирование бита PC.13.
    Delay_ms(200)
  wend
end.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Специально прошёл в поиск и нашёл, vodav писал про этот
Это встраиваемый контроллер, а не микроконтроллер.
Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и (или) ПЗУ. По сути, это однокристальный компьютер, способный выполнять относительно простые задачи.

Отличается от микропроцессора интегрированными в микросхему устройствами ввода-вывода, таймерами и другими периферийными устройствами.
0
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
20.04.2018, 20:06
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Vladimir1982, говорит что язык неактуален
Если человеку нравиться этот язык, то пусть учит. Есть же любители всякого ретро.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
20.04.2018, 22:28
Цитата Сообщение от Vladimir1982 Посмотреть сообщение
Есть же любители всякого ретро.
База QB существует во многих бейсиках, например FB - что ретро не является.

Цитата Сообщение от locm Посмотреть сообщение
За те же деньги можно купить более производительные и функциональные микроконтроллеры с ядром ARM.
Разумеется, но если выбирать между "потратить год-два или больше на освоение всего этого
с возможностью обосраться и не освоить" или потратить лишнего бабла, но сразу приступить
к реализации задачи, то лично я выберу второй вариант. И в случаях, где нету массовой
закупки этих МК - данный вариант выглядит довольно привлекательно, пусть даже и дорого.
Цена в данном случае как раз за популярность данной платформы.
Не пытаюсь оправдать или что-то ещё, просто нужно понимать что есть простые знакомые
и понятные вещи, а есть более гибкие, между ними ощутимая разница.

Цитата Сообщение от locm Посмотреть сообщение
Это встраиваемый контроллер, а не микроконтроллер.
Сути для производственных нужд оно не меняет. Даже наоборот, оно удобнее, ничего
проектировать и паять не надо. Таких решений полно и это нормально.

Добавлено через 7 минут
Да и наверняка, если хорошо поискать, можно и интеловые решения найти, недорогие.
0
Эксперт по электронике
7140 / 3320 / 341
Регистрация: 28.10.2011
Сообщений: 13,058
Записей в блоге: 7
20.04.2018, 22:37
Цитата Сообщение от Quiet Snow Посмотреть сообщение
потратить год-два или больше
Если тратить на обучение час в неделю, то может быть. Но если есть немного свободного времени и желания, то за месяц можно освоить на нормальном уровне. У меня получилось разобраться с STM32 примерно за неделю. Отладчик в этом здорово помогает. Можно из IDE с компа полностью контролировать ход выполнения программы в микроконтроллере (пошаговое выполнение программы, просмотр и модификация содержимого переменных и регистров и т. д.). Это очень наглядно показывает как выполняется программа в МК и сильно упрощает понимание всех происходящих процессов. По сути отладка в МК мало чем отличается от отладки PC программы.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
сразу приступить к реализации задачи
Это если есть опыт работы с этим встраиваемым контроллером, DOS и QB. А если нет, то потребуется времени не меньше чем на освоение STM32.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Сути для производственных нужд оно не меняет.
Это вносит путаницу, потому что это не МК, а ВК (встраиваемый контроллер).

Добавлено через 4 минуты
Цитата Сообщение от Quiet Snow Посмотреть сообщение
пусть даже и дорого.
244$ это не мало и не для домашнего применения. Дешевле составить ТЗ и заказать разработку устройства на том же STM32 или другом микроконтроллере.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
20.04.2018, 22:38
Цитата Сообщение от locm Посмотреть сообщение
В Китае на Али например
У меня показывает почти 350р - 5 шт, это 70р за штуку. Нужно проверять цену доставки,
кликаешь по выбору количества вперёд, назад.
0
Эксперт по электронике
7140 / 3320 / 341
Регистрация: 28.10.2011
Сообщений: 13,058
Записей в блоге: 7
20.04.2018, 22:45
Цитата Сообщение от Quiet Snow Посмотреть сообщение
У меня показывает почти 350р - 5 шт, это 70р за штуку.
Они стоят по 36,41 руб.
180,78 руб. / партия 5 шт. / партия , 36,41 руб. / шт.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
20.04.2018, 22:46
Цитата Сообщение от locm Посмотреть сообщение
А если нет, то потребуется времени не меньше чем на освоение STM32.
Имхо, меньше времени и проще в освоении, намного проще. Судя по тому, что увидел в асмовой проге.
Там почти как защищённый режим кодить. А без полного понимания туда лучше вообще не лезть,
можно накосячить. Т.е. я бы писал на интеловом асме. 2018 год, а вынуждают всё кодить вручную,
как 30 лет назад. Поставь себя на место того 60 летнего дядьки, да он озвереет всё это изучать,
причём далеко не факт, что даже у меня это получится освоить(имею в виду самостоятельное изучение),
но мне это и не интересно. У парней есть задачи они их решают, а как не важно, факт в том что
и DOS и QuickBasic ещё в строю.
0
Эксперт по электронике
7140 / 3320 / 341
Регистрация: 28.10.2011
Сообщений: 13,058
Записей в блоге: 7
20.04.2018, 23:18
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Имхо, меньше времени и проще в освоении, намного проще.
Так кажется имея опыт работы с этим контроллером, DOS и QB. Представьте что вы в первый раз видите контроллер и как он устроен и работает даже не представляете. Также вы не имеете опыта работы с DOS и QB. Потребуется изучить контроллер, изучить DOS и QB. Сколько это займет времени с нуля? Вспомните то время когда изучали DOS и QB.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Судя по тому, что увидел в асмовой проге. Там почти как защищённый режим кодить.
Асм стандартный ARMмовский. 32-ух битная адресация (доступно 4 ГБ адресное пространство где находится все - Flash, ОЗУ, регистры периферии и ядра и т. д.).

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Т.е. я бы писал на интеловом асме.
Сейчас практически везде ARM процессоры. Их ядра и во многих микроконтроллерах. Интел в основном в компах.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
Поставь себя на место того 60 летнего дядьки, да он озвереет всё это изучать,
Зачем асм если можно писать на ЯВУ? Современные компиляторы (GCC и подобные) с включенной оптимизацией генерируют асм не хуже чем можно самому написать. Порой даже лучше, потому что учитывают работу конвейера, блока предсказания переходов, создают необходимое выравнивание (обычно по границе 4, т. е. чтобы адрес был кратен 4) и т. д.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
далеко не факт, что даже у меня это получится освоить
Если не попытаться... Немалую роль играет наличие свободного времени, желания и мотивации.
0
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
21.04.2018, 00:51
Цитата Сообщение от Quiet Snow Посмотреть сообщение
База QB существует во многих бейсиках, например FB - что ретро не является.
Я про QB писал.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
21.04.2018, 06:48
Цитата Сообщение от Quiet Snow Посмотреть сообщение
QuickBasic ещё в строю.
Даже Turbo Basic ещё терзают, который ещё в 80-х уже забросил сам автор.
Этот факт исключительно из за того, что написал
Цитата Сообщение от кот Бегемот Посмотреть сообщение
Только если учитель настолько бестолков, что не может освоить другой язык.
Других объективных причин я вообще не вижу в наше время. Даже если вдруг предположить, что где то в очень серьёзным месте очень серьёзным дядькам без DOS ну прям ни как нельзя, то по любому эти дядьки будут использовать Си или даже ASM, а не лепить костыли для Бейсика (яркий пример недавних мытарств с файловым менеджером).
1
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
21.04.2018, 08:52
Pro_grammer, я могу пояснить, почему QBasic до сих пор жив и будет жить ещё несколько лет. В школах, особенно в провинции, учителей информатики катастрофически не хватает, и предмет ведут совместители - физички, математички, даже химички. И когда доходят до темы Программирование, они вспоминаю, что когда-то в юности изучали тот самый QB. На бОльшее их, разумеется, не хватает...
0
68 / 18 / 0
Регистрация: 26.01.2018
Сообщений: 166
21.04.2018, 09:11
Тема про QB c другого форума:

del
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.04.2018, 09:11

Как поставить полноценную Windows 10 на флешку?
Поставил ubuntu 16 она работала, но все же хочется винду пробовал Windows to go но нифига не хочет ноут с нее грузиться У кого есть...

Как запустить QBasic-программу
Дано: Bas-файл (программа) Требуется запустить его на выполнение. Решение: 1) да, можно конечно открыть его программой QBasic и...

Как написать собственную полноценную Desktop программу для Windows?
Здравствуйте! Знаю основы C++, но всё это для создания консольных программ. Как написать собственную полноценную Desktop программу для...

Как обеспечить работу Timer в BackGroundWorker
Подскажите как сделать так чтобы в BackGroundWorker'e работал таймер?

Как обеспечить работу с SQL на другом компьютере?
Написал программу на своем компьютере. Программа работает с SQL. Но хочу эту программу установить на комп своего друга, а там она выдает...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2. Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её. Всё это стресс конечно. Почему?. . .
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru