-
Постов
1 004 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Весь контент firstvald
-
Шахназаров рассказывал что вообще не нашли материалов по Войне и миру. Нашли позитив в хорошем состоянии где- то в Прибалтике, сделанный для СовИнФильм. И на телевидении переписанный на бетту. В России не было негатива „Войны и мира“! Мы у „Совэкспортфильма“ запросили контратип, сделали реставрацию на цифру в формате SD и напечатали с него пленочную копию 35 мм. Но у нас не было такой техники, как сейчас, да и оригинальная копия 70 мм за эти годы обнаружилась. немного
-
ну ++ помогают немного систематизировать. это если отвлечься от наследования. и можно писать на чистом си исходя из подхода свойства / методы. монолитным куском проект становится за годы. боюсь оказаться правым - любой проект. он может быть сначала цельным и прозрачным. но, если он развивается несколько лет, его, скорее всего, надо будет переписать с нуля.
-
вопросы скорее есть к тому, что снимал Экран. а это спектакли. берет оторопь от дефектов на пленках спектаклей Проснись и пой , Безумный день.. похоже снимали на 16 мм и брак был уже в самом начале. история с восстановлением Война и Мир, там , похоже , нашли только позитив где- то в Прибалтике и с ним работали.
-
глянул. там серьезная работа. нужно работать с файлами архива и параметрами фотоматериалов. примененные форматы нужно аккуратно сохранить, чтобы была совместимость. аккуратно рисовать график. и его тоже надо аккуратно печатать. обмениваться с оборудованием (а формат и протоколы обмена с денситометрами есть?). задача не для молнеиносного написания и в этом секрет проблемы. а вы могли бы досовскую версию выложить в файлообменник, а сюда ссылку? т е реально описаний форматов и тз не будет. нужно расковыривать. и исходники тех кто пошел по этой дорожке сохранились?
-
в одной картинке все очень вменяемо нарисовано. С27 я бы не ставил. Без R34 низяяяя. ну и где у вас драйверы, скажем модбаса, там еще особое сочетание земель и резисторов.
-
очень вменяемый пост.
-
так и представляю матч с против с++. хотя это разные инструменты и нужны для разных вещщей. видел гибрид (..., в смысле дописывал проект) в котором программер дефайнами создал такой визуальный код, который внешне походил на плюсы, но был чисто сишным. он был гением, гении уходят , тварения остаются . в смысле: после него надо переписывать. и контора попала на время*деньги. дело в том, что код пророс аппаратурой. я тоже сначала думал: код же работал, работал, я тогда просто перенесу и все. но процессор сменился и если бы было с десяток файлов , я бы глазами отсмотрел , что бросилось в глаза поправил бы. откомпилировал бы и разбирался с сотней ошибок. но тут так не пройдет. приходится запускать по функциям. связанное с таймерами, с обменом с кнопками. и вот даже на кнопках вылезает то, что, скажем, меню, оперирует чуть ли не со всем задекларированными в СИШНИКАХ переменными, которые подключать нельзя - там все стреляется и не работает. и приходится из сишников вытаскивать вручную все определения переменных, чтобы хоть что -то запустилось. я не зря это чудовищным стилем называю - это диверсия. это на месяцы работа. мысль про обертки интересная. руководитель проекта , который бессменно годы этот проект тянул, так и выразился , но обернуть можно только то, что написано так, что внутрь не надо лезть , а там по регистрам кругом. был у нас программер. ага. говорил так. если мне надо операцию 5 раз повторить я строчку подряд пять раз копирую. для банка софт писали.
-
мне сложно сказать про вообще. такой прием мне показали лет так десять назад профессиональные программеры. до этого мы пробовали выбрать схему написания проекта , которая бы снимала кучу проблем т н классического написания. проверяли некоторые варианты . из того, что я видел , остановился на этом. я очень подробно расписал почему "классически" делать мягко говоря не стоит. каждый волен писать, как ему удобно, но для своих проектов у меня некоторые правила , проверенные временем. вполне возможно, что у вас можно обойтись без глобальных переменных , но в измерительном эмбедде это не так. кто спорит, что локальники просто переносить, НО! только если в сишник не засованы декларации и определения. мне понравилось определение "по разным щелям" - точнейшее определение чудовищной модели с определением и декларированием в сишике и потом костылянии везде, где встретятся эти переменные. это кошмар. и его упорно тиражируют. не вдумываясь в эту глупость. это стиль программистов- поскакунчиков. пороект или загубливается или даже доводится до рабочего состояния и т н программер переходит в следующую контору сеять . на его место берется чел с "умением разбираться в чужом коде". и бой продолжается. сейчас приходится портировать проект написанный в таком стиле группой товарищей, а там более 90 файлов и как раз в сишники зафигачили определения. чего теперь с этим делать, непонятно. про плюсы от эмбеддеров нижнего уровня слышу .... в смысле не нужен с++. но было бы удобно в некоторых случаях (если проект сложный и его писать долго, плюсы явно дадут облегчение). кстати. ардуина на плюсах. очень удобно. не очень нравится гнилой стиль дискуссии. такой в стиле футбольных фанатов. правильнее читать внимательно. есть люди со странным воспитанием, считающие что они все видели и все знают. есть глупцы, кидающие пару умных фраз, типа я тут такой гений (Ландау такие). профессиональное сообщество предназначено для обмена шишками и знаниями. и, порой, в редчайших случаях, для нахождения решений, реально решающих проблему. про то чему учат и учили и какие заблуждения вколотили народу может в болталке начать тему.
-
расскажите свой вариант. только сначала подумайте. переносим ли ваш код. можно ли его вторично использовать , можно ли вторично использовать в другом проекте декларируемые переменные и пробовали ли вы сами переносить код по частям при портировании другого процессора. и, ребят, внимательно читайте, что было написано и обдумайте.
-
вот, ни в коем случае, в сишных не надо. это проходит в том случае, когда у вас маленький проект (вы помните, что где лежит) и когда вы не думаете о том, что ваш код будет использоваться повторно в других проектах . и у вас декларация и объявление получаются тогда в разных файлах. попробуйте как попереносить кусок кода без ошибок копированием из файла в файл, когда пишете и у вас открыто с два три десятка закладок. а, когда вы пишите в пределах одного файла , вы гораздо меньше подвержены таким ошибкам. и вот точно никаких костылей тут нет. поэтому, когда я вижу код, который написан, как в умных книжках с полувековой историей, я понимаю, что ждать бяды. и, хуже того, пацанов продолжают учить такому, люди никогда не занимавшиеся разработкой.
-
вот с объявлением структур ооочень аккуратно надо. и я скакал по этим граблям (получал в разных файлах разные экземпляры структуры под одним и тем же именем). стал делать так, в заголовочнике: #ifndef _sensor #define _sensor struct sensor_general_type{ unsigned short int meash_interval_sec; }; #ifdef sensor_first_appear struct sensor_general_type sensor_general; #else extern struct sensor_general_type sensor_general; #endif #endif в ОДНОМ месте в с или хедере так: #define sensor_first_appear #include "sensor.h" во всех других местах так: #include "sensor.h"
-
Про регистр W микроконтроллеров PIC
firstvald ответил Damyen тема в В помощь начинающему
так поэтому и risc/ число команд ограничено. это в intel-е все со всем пересылается. если начать писать на с для mikrochip многие из этих удивительностей просто скроет компилятор. -
Управление Н-мостом с помощью ШИМ
firstvald ответил student23 тема в Схемотехника
в вашей схеме можно вот так. . Вх 1 и Вх 2 выбирают направление. 0 1 или 1 0 туда или сюда. 00 или 11 стоим на месте. А на pwm подаем шим. pwm.bmp и 298 pwm 1.bmp -
Не откликается CAN stm32f103
firstvald ответил firstvald тема в Интерфейсы
вот это засада! -
Монтажник слаботочных сетей
firstvald ответил ЕИванович тема в Предлагаю работу
судя по всему Зелик -
Не откликается CAN stm32f103
firstvald ответил firstvald тема в Интерфейсы
Специально я не разрешал, но просмотрю в эту сторону. Я думал сначала, что в голубую таблетку can не доложили , попробовал с nucleo / а то же самое. -
Не откликается CAN stm32f103
firstvald опубликовал тема в Интерфейсы
Пробую простенький тестовый проект с CAN. Но я или что то упустил или что то не разрешил. На ножках нет передачи . На прием тоже нет прерывания. Может свежим глазом что- то бросится. #include "state.h" #include "can_my.h" #include "stm32f1xx_hal_cortex.h" CAN_HandleTypeDef hcan; /* USER CODE BEGIN PV */ CAN_FilterTypeDef canFilterConfig;/* USER CODE END PV */ /* Private function prototypes -----------------------------------------------*/ void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_CAN_Init(void); int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_CAN_Init(); /* USER CODE BEGIN 2 */ HAL_CAN_Start(&hcan); HAL_CAN_ActivateNotification(&hcan, CAN_IT_RX_FIFO0_MSG_PENDING); while (1) { if(flag_1s==1){ flag_1s=0; if (HAL_CAN_GetTxMailboxesFreeLevel(&hcan) != 0) { msgTxHeader.StdId = 0x200; msgTxHeader.DLC = 8; msgTxHeader.TransmitGlobalTime = DISABLE; msgTxHeader.RTR = CAN_RTR_DATA;// ïåðåäàåì ñàìè íå çàïðîñ ïàðàìåòðà msgTxHeader.IDE = CAN_ID_STD; uint32_t mailBoxNum = 0; for (uint8_t i = 0; i < 8; i++) { msgTxData[i] = i; } HAL_CAN_AddTxMessage(&hcan, &msgTxHeader, msgTxData, &mailBoxNum); } }//flag 1 s }//while }//main static void MX_CAN_Init(void) { canFilterConfig.FilterBank = 0; canFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK; canFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT; canFilterConfig.FilterIdHigh = 0x0000;//ñòàðøàÿ ÷àñòü ID canFilterConfig.FilterIdLow = 0x0000;// ìëàäøàÿ ÷àñòü ID canFilterConfig.FilterMaskIdHigh = 0x0000;// ñòàðøàÿ ÷àñòü ìàñêè canFilterConfig.FilterMaskIdLow = 0x0000;// ìëàäíàÿ ÷àñòü ìàñêè canFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0; canFilterConfig.FilterActivation = ENABLE; canFilterConfig.SlaveStartFilterBank = 14; HAL_CAN_ConfigFilter(&hcan, &canFilterConfig); hcan.Instance = CAN1; hcan.Init.Prescaler = 16; hcan.Init.Mode = CAN_MODE_NORMAL; hcan.Init.SyncJumpWidth = CAN_SJW_1TQ; hcan.Init.TimeSeg1 = CAN_BS1_13TQ; hcan.Init.TimeSeg2 = CAN_BS2_2TQ; hcan.Init.TimeTriggeredMode = DISABLE; hcan.Init.AutoBusOff = DISABLE; hcan.Init.AutoWakeUp = ENABLE ; hcan.Init.AutoRetransmission = DISABLE; hcan.Init.ReceiveFifoLocked = DISABLE; hcan.Init.TransmitFifoPriority = DISABLE; if (HAL_CAN_Init(&hcan) != HAL_OK) { Error_Handler(); } } void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan) { GPIO_InitTypeDef GPIO_InitStruct = {0}; if(hcan->Instance==CAN1) { __HAL_RCC_CAN1_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); /**CAN GPIO Configuration PA11 ------> CAN_RX PA12 ------> CAN_TX */ GPIO_InitStruct.Pin = GPIO_PIN_11; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_PULLUP ; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); GPIO_InitStruct.Pin = GPIO_PIN_12; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /* CAN1 interrupt Init */ HAL_NVIC_SetPriority(USB_HP_CAN1_TX_IRQn, 0, 0); HAL_NVIC_EnableIRQ(USB_HP_CAN1_TX_IRQn); HAL_NVIC_SetPriority(USB_LP_CAN1_RX0_IRQn, 0, 0); HAL_NVIC_EnableIRQ(USB_LP_CAN1_RX0_IRQn); } } void USB_LP_CAN1_RX0_IRQHandler(void) { HAL_CAN_IRQHandler(&hcan); } void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan) { HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &msgRxHeader, msgRxData); if (msgRxHeader.IDE == CAN_ID_EXT) { msgId = msgRxHeader.ExtId; } else { msgId = msgRxHeader.StdId; } } -
ну, в порядке поиска, что происходит. внимательно посмотрите декларации потоков и объектов. у меня бывало так, что при копировании я не все подправлял для следующего объекта. и посмотрите - нет ли в какой из функций автоматических параметров - массивов или структур.
-
"я не поняла" это конструктор такой? как анекдот с последним пунктом в мануале : обработать напильником.
-
запросто слепили из других проектов за вечер не меняя ничего.
-
а есть ли у этого принтера старший брат. подороже. может там сделано по - другому?
-
ребят. речь вообще идет о разработке станка. по сложности и по трудозатратам - не конструкция выходного дня. и да , для начала будет этап исследований. результатом будут цифры и , возможно, гипотезы почему и как . и уж на основании этого этап сделать как , который тоже вериятностный. сказать сначала цену и сроки невозможно.
-
очень осторожное предположение - ситуацию можно поправить если залезть в двигатель штатным по и полазить в калибровках
-
я тоже захожу по... сидеть
-
а такой вопрос. движение холста все время отстает от ожидаемого перемещения или может отставать, а может и опережать? если поставить эксперимент с печатью сетки и посмотреть что там с размерами то может быть при преобразовании внутри происходит такое округление что вал недокручивается систематически. и тогда ситуацию можно было бы поправить систематическим довыдаванием импульса через определенное количество. без энкодеров.