Поиск сообщества
Показаны результаты для тегов 'c++'.
Найдено: 22 результата
-
Что такое ПИД.Расшифровку я знаю но принцип этой системы.И в формулах коэффициенты откуда берутся с фонаря?На пальцах и на примере можно объяснить?
-
у меня возник вопрос.Хочу сделать звезду(верхушку) на ёлку.Хотелось бы узнать ваше мнение по поводу светодиодов соединять их как обычно или лучше как матрицу но через ULN2803A катоды светодиодов а аноды через транзистор n-p-n?
-
Решил я сделать полноценное меню для lcd используя stm32.Пересмотрел куча примеров и всё как то аморфно.С использыванием указателей на структуру.Кто может на пальцах объяснить?
-
Необходима помощь в написании микрокода на С для управления STM32. Схемотехника и построения схем принципиальных приветствуется. Но эту часть могу выполнить сам. Проект связан с написанием микрокода для управления GPS чипом, RFM модулем передачи, эмулирование USB порта на STM32L433CCT6. Подробности уже в переписке лично.
-
Написание микрокода на С для управления STM32. Опыт реализации успешных проектов очень обязателен. Опыт схемотехники и построения схем принципиальных приветствуется. Проект связан с написанием микрокода для управления GPS чипом, RFM модулем передачи, эмулирование USB порта на STM32L433CCT6. Подробности в переписке. Специалистов которые очень заняты, у которых нет времени и они спешат по другим проектам, но могут сделать за день по предоплате, просьба спешить далее. Мне нужен спокойный, четкий подход квалифицированного человека, готового работать в нужном направлении. https://t.me/NedelaS
-
- C++
- программирование
-
(и ещё 2 )
C тегом:
-
Не получается у меня запустить несколько каналов АЦП в прерывании по DMA.Чего не хватает?
-
Меня интересует какие флаги в преривании устанавливать по ДМА ?Кусок кода можно?
-
Меня интересует вот что .Я пытаюсь передать данные через терминал .А у меня он выводит не текст а кието 0 и козябрики .Почему? main.c
-
Можно ли на одно шине I2C подключать модуль часов реального времени ds3231 и LCD через модульI2C.У меня не получается почему?
- 36 ответов
-
-2
-
Компания производитель вендинговых автоматов для розлива питьевой воды в поисках инженера-системотехника/инженера электронщика. График 5/2 с 9 до 18, здесь удаленный формат не рассматриваем. Место работы – г. Екатеринбург. Мы ищем специалиста, который будет делать прототипы нового для контроллера, курировать производство, проверять, дорабатывать, перепаивать, а также: Переписывать текущие программы на С++; Создавать программу для Android для конфигурации параметров контроллера через bluetooth. (т.е. предлагать новые, современные идеи и подходы для развития имеющихся контроллеров, которыми вы владеете); Предлагать новые программные продукты, среды разработки. Будет в тренде мира микроэлектроники, китайского контрактного производства. Может предложить совершенно новую реализацию наших текущих задач, чтобы это было лучше и эффективнее. В идеале, нам нужен специалист, который имеет: Опыт программирования микроконтроллеров Atmega, STM32, ESP32; Опыт работы в Altium Designer; Опыт работы в c++ (IAR, QT); Опыт работы с modbus, rs485/232, SPI. Готовы рассматривать специалистов с разным опытом, поэтому пишите, задавайте вопросы. Резюме можно отправить на почту lb@ktekt.ru (да, мы кадровое агентство), позвонить можно по следующему тел. 89068001212 - Любовь.
-
Уже не один день сижу думаю как запустить stm32 с eeprom для сохранения данных.И в кубе такая же история.Записую функцию чтения в майн и контролер садится ничего не работает ? В чём дело ? Сталкивались с таким чудом.Записывал без функции тоже самое одна сторока его убивает. #include"main.h" #define I2C_REQUEST_WRITE 0x00//0 #define I2C_REQUEST_READ 0x01 #define EEPROM_ADDRESS 0b1010000 #define I2C_OWNADDRESS1_7BIT 0x00004000U void i2c1_AF_init(void) { GPIOB->AFR[0]&=~GPIO_AFRL_AFSEL7_0; GPIOB->AFR[0]&=~GPIO_AFRL_AFSEL7_1; GPIOB->AFR[0]|=GPIO_AFRL_AFSEL7_2 ; GPIOB->AFR[0]&=~GPIO_AFRL_AFSEL7_3; GPIOB->AFR[0]&=~GPIO_AFRL_AFSEL6_0; GPIOB->AFR[0]&=~GPIO_AFRL_AFSEL6_1; GPIOB->AFR[0]|=GPIO_AFRL_AFSEL6_2; GPIOB->AFR[0]&=~GPIO_AFRL_AFSEL6_3; } void i2c1_init(void) { GPIOB->MODER|=GPIO_MODER_MODE7_1; GPIOB->MODER&=~GPIO_MODER_MODE7_0; GPIOB->OTYPER|=GPIO_OTYPER_OT7; GPIOB->MODER|=GPIO_MODER_MODE6_1; GPIOB->MODER&=~GPIO_MODER_MODE6_0; GPIOB->OTYPER|=GPIO_OTYPER_OT6; RCC->APB1ENR|=RCC_APB1ENR_I2C1EN; I2C1->CR2&=~I2C_CR2_FREQ_2 ; I2C1->TRISE=9; I2C1->CCR&=~I2C_CCR_FS; //I2C1->OAR1|=I2C_OAR1_ADD0 | I2C_OAR1_ADD1_7 | I2C_OAR1_ADD8_9 | I2C_OAR1_ADDMODE; I2C1->OAR1|= I2C_OWNADDRESS1_7BIT; //I2C1->CR1|=I2C_CR1_SMBUS | I2C_CR1_SMBTYPE | I2C_CR1_ENARP; I2C1->CR1|=I2C_CR1_ACK; I2C1->OAR2|=I2C_OAR2_ADD2; I2C1->CR1|=I2C_CR1_PE; } void I2C1_SendByteByADDR1(uint16_t adres,uint8_t data) { //uint8_t data2; I2C1->CR1|=I2C_CR1_ACK; I2C1->CR1|=I2C_CR1_START; while(!(I2C1->SR1&I2C_SR1_SB)) { } (void) I2C1->SR1; I2C1->DR|= EEPROM_ADDRESS |I2C_REQUEST_WRITE; //I2C1->DR|= addr | I2C_REQUEST_WRITE;// while (!(I2C1->SR1& I2C_SR1_ADDR)) { } (void) I2C1->SR1; (void) I2C1->SR2; I2C1->DR|=(uint8_t)adres;// while (!(I2C1->SR1& I2C_SR1_TXE)) { } I2C1->DR|=(uint8_t) (adres>>8) ;// while (!(I2C1->SR1 & I2C_SR1_TXE)) { } I2C1->DR|=data; while (!(I2C1->SR1 & I2C_SR1_BTF)) { } I2C1->CR1|=I2C_CR1_STOP; } void I2C1_readByteByADDR1(uint16_t adres,uint8_t data) { //uint8_t data2; //uint8_t data1; I2C1->CR1|=I2C_CR1_ACK; I2C1->CR1|= I2C_CR1_START; while (!(I2C1->SR1& I2C_SR1_SB)){} (void) I2C1->SR1; I2C1->DR|= EEPROM_ADDRESS |I2C_REQUEST_WRITE; // I2C1->DR|= SLAVE_OWN_ADDRESS | I2C_REQUEST_WRITE; while (!(I2C1->SR1& I2C_SR1_ADDR)){} (void) I2C1->SR1; (void) I2C1->SR2; //Transmit Address begin EEPROM I2C1->DR|= (uint8_t) adres; while (!(I2C1->SR1& I2C_SR1_TXE)){} I2C1->DR|=(uint8_t) (adres>>8); while (!(I2C1->SR1& I2C_SR1_TXE)){} I2C1->CR1 |= I2C_CR1_START; while (!(I2C1->SR1 & I2C_SR1_SB)){} (void) I2C1->SR1; I2C1->DR = EEPROM_ADDRESS|I2C_REQUEST_READ; while (!(I2C1->SR1 & I2C_SR1_ADDR)){} (void) I2C1->SR1; (void) I2C1->SR2; I2C1->CR1 &= ~I2C_CR1_ACK; while (!(I2C1->SR1 & I2C_SR1_RXNE)){} data= I2C1->DR; // while (!(I2C1->SR1 & I2C_SR1_RXNE)){} //data2 =I2C1->DR; I2C1->CR1 |= I2C_CR1_STOP; // return data; // Delay(5); } void i2c2_AF_init(void) { GPIOB->AFR[1]&=~GPIO_AFRH_AFSEL10_0; GPIOB->AFR[1]&=~GPIO_AFRH_AFSEL10_1; GPIOB->AFR[1]|=GPIO_AFRH_AFSEL10_2 ; GPIOB->AFR[1]&=~GPIO_AFRH_AFSEL10_3; GPIOB->AFR[1]&=~GPIO_AFRH_AFSEL11_0; GPIOB->AFR[1]&=~GPIO_AFRH_AFSEL11_1; GPIOB->AFR[1]|=GPIO_AFRH_AFSEL11_2; GPIOB->AFR[1]&=~GPIO_AFRH_AFSEL11_3; } void i2c2_init(void) { GPIOB->MODER|=GPIO_MODER_MODE10_1; GPIOB->MODER&=~GPIO_MODER_MODE10_0; GPIOB->OTYPER|=GPIO_OTYPER_OT10; GPIOB->MODER|=GPIO_MODER_MODE11_1; GPIOB->MODER&=~GPIO_MODER_MODE11_0; GPIOB->OTYPER|=GPIO_OTYPER_OT11; //RCC->APB1ENR|=RCC_APB1ENR_I2C2EN; } вот на этой строчке
-
Доброго времени суток господа!) Вопрос к знатокам, начал изучать С++, писать начал на PIC16F628A, по мере изучения столкнулся с несколькими проблемами, первая это нужна помощь с подключением тактовой кнопки к PIC, суть проблемы в том, что при нажатии кнопки светодиод загорается, если нажать еще раз, то ничего не происходит.... Вопрос в том, как сделать выключение на эту же кнопку???? unsigned char CheckButton(void) { unsigned char result=0; unsigned int butcount=0; while(!RB2) { if(butcount < 10000) { butcount++; } else { result = 1; break; } } return result; } void kkk2 (void) { if(CheckButton ()) { RB3 = 1; { //__delay_ms(100); } return; } }
-
Добрый день! Необходимо подобрать микроконтроллер, который будет получать команды по serial от esp8266 и димировать RGBW светодиод по следующему алгоритму: https://docs.google.com/document/d/1FkPLiIgxleuDQn8pjihICQGRrMPXbwFzqCt6StQZjhU/edit?usp=sharing а также написать для него прошивку на си. Отвечать можете в телеграм arsenicum32 или сюда. Пишите цену / сроки, находитесь ли в МСК и/или в области.
-
Компания "Диаконт" приглашает на собеседование по вакансии инженер-программист микроконтроллеров. Мы производим и поставляем современные приборы управления электроприводами для различных отраслей отечественной промышленности. Пополняем нашу команду программистов (готовы принять 2-3 кандидатов с различным опытом работы)! Основные обязанности: Разработка программного обеспечения для блоков управления приводами и др. вычислительных систем. Программирование на C++ микроконтроллеров фирмы Texas Instruments и НИИЭТ на базе ядра ARM Cortex-M4. Поддержка и доработка существующего программного обеспечения. Участие в научно-исследовательских и опытно-конструкторских работах. Участие во внедрении систем на объектах (редкие командировки). Требования к кандидатам: Хорошее знание схемотехники; Знание методов разработки и проектирования ПО для микроконтроллеров и опыт работы с их периферией; Знание основ управления электроприводами и ТАУ; Знание языков программирования высокого уровня (C++, C); Знание современных методов разработки ПО (ООП, ...); Знание английского языка (чтение технической документации); Приветствуется знание Python, Matlab/Octave; Дополнительным плюсом будет опыт автоматизированного тестирования встроенного ПО. Условия: Оплата полностью белая (на руки в зависимости от знаний и опыта от 50 000 руб до 100000 руб). Но, готовы обсуждать!; Карьерный и профессиональный рост; Предприятие с комфортными условиями труда на севере города; ДМС; График работы понедельник - пятница 9:00-17:40; Плавающее начало работы с 8:00-10:00; Льготное питание в столовой на территории предприятия;... Ключевые навыки Программирование микроконтороллеров C/C++ Управление электродвигателями Адрес Санкт-Петербург, ул. Учительская 2, м. Гражданский проспект Тип занятости Полная занятость, полный день Резюме лучше отправлять на rykov@diakont.com
-
- микроконтроллер
- texas instruments
- (и ещё 3 )
-
Разработчик C++ (Windows, GUI, сеть) - 5 городов
cppjob опубликовал тема в Вакансии и разовая работа
В облачный сервис требуется разработчик С++ для разработки клиентской программы под ОС Windows. Место работы - крупная современная IT-компания, офисы в городах: Москва Санкт-Петербург Нижний Новгород Екатеринбург Минск График - строго офис, время начала рабочего дня обговаривается индивидуально. Заработная плата «в рынке» (для каждого города своя вилка), определяется по результатам собеседования. Необходимые знания: Уверенное знание C++, опыт работы с ним от двух лет, в том числе с библиотекой STL; Опыт работы с ATL/WTL или MFC от года; Опыт работы с библиотекой Boost от года, в том числе с компонентом Boost.Asio - вам предстоит много работать с сетью; Знание базовых алгоритмов и структур данных; Опыт разработки многопоточных приложений. Ваше портфолио - гарантия оперативного рассмотрения Вашей кандидатуры! Вместе с резюме просьба сразу указать контактный телефон (или скайп, если Вы не из Москвы) и удобное время для звонка, чтобы оперативно обсудить детали (разговор займет не более 10-ти минут). Резюме направлять на адрес: cppjob@inbox.ru Спасибо за внимание! -
Разработчик под шину PCI-E (C++, Windows) в г. Москва
cppjob опубликовал тема в Вакансии и разовая работа
Место работы: производственное предприятие в г. Москва, часть заказов - оборонного назначения. Удаленка, как Вы, наверное, уже понимаете, невозможна - строго офис. Главное условие на эту(!) вакансию: вы уже разрабатывали драйвера под PCI-E на C++ под платформу Windows и у вас есть, чем это подтвердить. Ваши плюсы (не обязательно, но желательно - влияет на итоговую сумму оффера): 1. Практический опыт с ПЛИС Altera и САПР Quartus II; 2. Знание Verilog; 3. Опыт разработки драйверов для USB, Ethernet, FW и прочих протоколов; 4. Опыт работы с SolidWorks; 5. Опыт разработки графических интерфейсов. Если Вы не имеете опыта PCIe+Win+Cpp, но считаете, что можете быть интересны этой компании (см. блок "Ваши плюсы"), Ваше резюме, вполне возможно, тоже сможет заинтересовать компанию - есть и другие вакансии (все они НЕ публичные). Вместе с резюме просьба сразу указать контактный телефон и удобное время для звонка, чтобы оперативно обсудить детали (разговор займет не более 10-ти минут). Резюме направлять на адрес: cppjob@inbox.ru Спасибо за внимание! -
Здарова, инженеры. Не подсобите студню с заданием? Задание, если кому интересно: Я подчитнул некоторую теорию, про индикацию, матричную клавиатуру и её опрос. Но вот возникли след. вопросы/трудности: 1. В случае использования только двух кнопок, целесообразно ли подключать кнопку непосредственно к выводу микроконтроллера? Насколько сильно это упростит решение задачи? 2. Можно ли где-то посмотреть пример реализации таких клавиатур именно на PIC18? (Уж очень у меня не хватает практики по программированию устройств, всегда на уровне любителя работал на крестах и ему подобных языках для решения мелких проблем и забав) 3. Можно ли где-то смоделировать моё творение, т.е. посмотреть работоспособность? (MPLAB, proteus, xlinx) 4. На чем в данном случае рациональнее "кодить" - язык ассемблера или сишка? Есть некоторый алгоритм для обработки дребезка контактов: https://pp.userapi.com/c840123/v840123038/23a0/IjXofwjEmuc.jpg Есть некоторая схемка, которую я в инете откопал: https://pp.userapi.com/c840123/v840123038/23a7/-rD4tgCfvLs.jpg Так же нашел небольшой код на просторах интернета (увы, он для AVR) : Благодарю за каждый пендель в нужном направлении, тема-то хорошая.
- 9 ответов
-
- pic18
- клавиатура
-
(и ещё 3 )
C тегом:
-
В небольшую команду, которая занимается разработкой квест-комнат и электроники для квестов, требуется инженер-программист. В ходе работы предстоит программировать игровую логику, «оживлять» загадки и головоломки. Цель нашей работы — создать интересный игровой сюжет и в совершенстве воплотить его «в железе» и софте, чтобы принести игрокам удовольствие от игры! Мы постоянно ищем новые технологии, которые можно использовать в квестах От вас требуется: — понимать (иногда плохо формализованные) моменты игрового сценария, участвовать в обсуждении деталей технической реализации — писать стабильный и поддерживаемый код. Стабильный — потому что результатом вашей работы будут пользоваться люди и любая ошибка смажет впечатление от игры; Поддерживаемый — потому как часто только после реализации можно увидеть изъяны логики, улучшения визуальной составляющей и т. д., что требует оперативной корректировки; — уметь быстро «завести» периферийный интерфейс; у нас обычно нет невидимых радиосигналов или гигабайт свежей информации© в недрах жестких дисков, вся периферия мигает, светится или норовит укусить вас за нос; На текущий момент стек технологий следующий: — STM32L1, arm-gcc/mbed; — Raspberry Pi, Raspbian; — Python (думаем хотя бы частично переходить на JS в силу чрезвычайной модности главного разработчика); Из профессиональных навыков: — знание C/C++. Да, мы пишем встраиваемый код на плюсах. Хочется, чтобы вы понимали, как вызывается виртуальный метод, почему нельзя возвращать из функции временную переменную и что не так с проклятой строчкой «++i + ++i»; — умение работать с Linux хотя бы на уровне «зайти по ssh на Raspberry и прописать скрипт в автозагрузку»; — знание Python или JS. Программ по распознаванию инопланетных сообщений в белом шуме писать не требуется, только бизнес-логика и взаимодействие с системой (последовательный порт, запуск приложений и т. д.); — знание схемотехники. Отличить, например, SPI от I²C, уметь пользоваться осциллографом и мультиметром; к сожалению, не все баги находятся с помощью отладчика, так что вас не должен смутить неприпаянный резистор в схеме, из-за которого не идут данные; умение держать паяльник за правильный конец будет большим плюсом; вот еще пункт в конец: — владение современными средствами разработки: в первую очередь, система контроля версий (мы используем git); Пользоваться можно почти любой IDE, но с любителями писать код в блокноте (без автодополнения, подсветки синтаксиса и отступами вразнобой) далеко не уедем; Работа в просторном офисе, 5 минут от ст.м. «Технологический проспект» Пишите в ЛС или mail@s3f.ru
-
В процессе выполнения команды MK не выходит из функции (причем на строчку перед закрытием скобки оной попадает). Есть ли какие либо ограничения при программировании на С, учитывает ли компилятор количество хипа, расстояние в 64 адреса для rjmp итд. Каких правил придерживаться чтобы писать грамотный, оптимизированный код?
-
Здравствуйте, уважаемые форумчане! Хочу реализовать свой "софтверный" SPI под Atmega8. Вообще, общая цель - общение с синтезатором LMX2306. Уже сломал голову от того,- как правильно отослать 21 битные регистры, используя 8-ми битные типы данных. Поэтому захотелось свой SPI с блекджеком, который может отправлять определенное количество бит переменной с выбором направления (MSB, LSB). Не пойму, как мне задать определенную частоту работы для "такого" SPI? Например, хардварный можно инициализировать на частотах osc/4, osc/16 ит.д. Как мне такое же сделать для софтверного SPI? Пишу в Atmel Studio 7
-
Помогите написать программу на МК PIC16F1824. Схема передающего контура для беспроводой зарядки. МК должен подовать на 6 и 5 выходы сигналы поочереди.Он будет задавать частоту колебания тока в цепи. Так же имеются две кнопки подключённые к входам 13 и 12, они будут менять частоту.
- 21 ответ
-
- программирование
- c++
- (и ещё 7 )