Pull to refresh
815
330.8
Сергей @dlinyj

Автор-фрилансер

Send message

Гляньте мой профиль. Я писал, но слабый отклик. На самом деле, будем честны, это мало кому интересно. Да и отечественной техники не так много.

Недавно ковырялся с калькуляторами, когда у нас только начинали программируемые калькуляторы делать, на западе уже полноценные КПК с кучей интерфейсов ваяли. Ну и в ретроспективе, оглядываясь назад, когда всё доступно, интереснее с импортной техникой возится.

Иронично, что приведённый на фотографиях в этой статье аппарат (прям именно этот, фото делал @spiritus_sancti который мне его и передал).

Учебный микропроцессорный комплект УМК производства завода VEF. Построен на процессоре КР580ВМ80А и использовался для обучения. В разъём расширения вставлена макетная плата, источник

Был ранее опубликован в этом блоге ранее в статье Волшебный чемодан и Ловля жуков в чемодане.

Волшебный чемодан
Волшебный чемодан

причина почему мы этим занимаемся простая:

Похоже на то, но я разницы сильно не вижу.

Тут опечатка, и только сейчас заметил. habr.c выглядит так:

#include "pico/stdlib.h"
#include "hello.h"

int main() {
    stdio_init_all();
    while (true) {
        hello();
        sleep_ms(1000);
    }
}

Мне кажется автор хотел наклонный :)

@moderator кода в режиме редактирования подсвечивается, но после публикации нет. (от всей души не люблю новый интерфейс).

Пардон, заработало.

В общем у меня получилось, спасибо большое. Делал по мануалу, раздел 8.Creating your own Project.

Вышло так:

cmake_minimum_required(VERSION 3.13)
include(pico_sdk_import.cmake)

project(habr C CXX ASM)

set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

pico_sdk_init()

add_executable(habr
	habr.c
	hello.c
	)

pico_enable_stdio_usb(habr 1)

pico_add_extra_outputs(habr)
target_link_libraries(habr pico_stdlib )
habr.c и hello.c
//habr.c
#include <stdio.h>
#include "pico/stdlib.h"

void hello(void) {
	printf("Hello, world!\n");
}
//hello.c
#include <stdio.h>
#include "pico/stdlib.h"

void hello(void) {
	printf("Hello, world!\n");
}
//hello.h
#ifndef __HELLO_H__
void hello(void);
#endif //__HELLO_H__

Мне не нравится формат беседы. Я не отрицаю отсутствие компетенции в этом вопросе. И готов учиться. Поэтому открыто прошу помощи.

Могли бы вы пожалуйста привести пример, допустим выноса функции

void hello(void) {
  printf("Hello world\n")
}

В отдельный си-файл и показать как оформить cmake так, чтобы это всё корректно работало, для rpi2040 (за основу можно взять)? Буду благодарен за ссылки на обучение.

Прикольный проект. Придется только hal свой делать. Но спасибо, правда.

Ничего странного нет. Совершенно обычная практика дробить код на логические узлы: код для клавиатуры, код для дисплея, код какой-то логики. Как это делать на pico без танцев с бубном я не понял. Переписывать генерируемый makefile как-то не правильно.

За совет по контролем спасибо. Ну вот мне понравилась статья, вроде всё по классике.

Тут видимо меня не поняли. Я ничего не имею против cmake.

Я привык написать Makefile раскидав проект по разным файлами и отдельно каждый файл собирать в объектник и потом их линковать. Такой подход мне не удалось реализовать в pico. Только монофайл, либо если хочется вынести часть кода в отдельный файл, то его требуется оформлять как библиотеку (для cmake). И там начинаются неприятные приколы, как уже написал, не работает таймер.

Респект за крутейший проект!

 пытался найти шрифт приблизительно аналогичный тому, который применяется на шильдиках в советской военной технике, но мне это не удалось. Можно сравнить, чего хотелось достичь, и что получилось.

Это обычный чертёжный шрифт ЕСКД ГОСТ 2.304-81

Большое спасибо за статью. Сейчас хочу перебраться на что-то современное 32-х битное, с gcc компилятором и нормальным кодом. Так чтобы классический makefile и погнал. По началу открыл для себя Raspberry Pico, обрадовался куче документации, двум ядрам, мьютексам и прочим радостям. Но при попытке собрать это всё по классике, обломался. Всё через cmake и остальное ардуинопуть через библиотеки, которые криво работают (таймер вынесенный из основного кода в библиотеку отказался работать). Вот и ищу для себя более-менее приемлемое решение.

В этой статье изложена прям вся квинтесенция боли офисного IT-работника. Особенно про личные кабинеты.

QEMU, забыл про этот чудесный инструмент. Прекрасная штука, всем рекомендую. У bochs есть некое gui, но qemu для истинных джедаев. С 86box не работал, ничего сказать не могу.

dosbox не всё гладко эмулирует, и bochs или virtualbox оказываются намного более удобными эмуляторами. Второй доступный и привычный, но менее гибкий и удобный. Первый идеальный, но имеет более высокий порог входа.

Видео работы очень ламповое. Мне показалось, или светодиод мигает под звук?

Спасибо за классную статью.

И так постепенно сделаешь свой новый чемодан :)

Просто сам имею такой же чемодан, и лёгкий снег уже становится непроходимо. А всякий асфальт с щебёнкой, уже невозможно вести.

Information

Rating
4-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity