Перейти к содержанию
    

MK2

Свой
  • Постов

    203
  • Зарегистрирован

  • Посещение

Весь контент MK2


  1. А вы еще скажите что тут по назначению С применили? Когда можно было обойтись просто dd if=/dev/random of=$FILE ... А вообще очень жаль что тема скатилась в обсуждение и демонстрацию своих поделок...
  2. Хаха, вот только сейчас когда текст правил понял про какую концепцию тут спрашивали Как будет материал, скину сюда почитать. Оказывается концепций много и у каждой свои плюсы и минусы
  3. Продолжение текста? Что за концепцию имеете ввиду? Не очень понятно...
  4. Всем доброго времени суток. Ищется специалист или технический писатель с отличным знанием английского языка. Наличие публикаций или публичных видеоматериалов на англ. очень очень приветствуется. Есть англоязычный текст по продукту (Description) и инструкции к нему. Текст с "рунглийским запашком" т.е. с типичным построением предложений и логических конструкций для русского языка. Которые возможно будут труднопонятны или малопонятны нейтивам. Хочется облагородить стилистически текст и сделать его более понятным для нейтивов. Работа пока что разовая. Оплата договорная. С предложениями можно писать сюда stolov(песель)remotemcu(точка)com Пример текста в attach
  5. Что то мне "курс тряпок" подсказывает что имелось ввиду не толщина :rolleyes:
  6. CrimsonPig про volatile я и забыл... static в данном случае никак не решал ситуацию. данное простое действие не требует какой-либо сверх точности, поэтому цель была решить именно платформонезависимым кодом
  7. Тогда как скажите объяснить iar что бы он заинлайнил эту ф-цию, но и оптимизацией не выкинул пустой цикл?! void inline generation() const { GPIO_PinOutToggle(gpioPortB, 13); for(uint16_t i = 0; i < 0x2; i++); GPIO_PinOutToggle(gpioPortB, 13); }
  8. Работая с модулями HC-05, заметил такую вещь: при разрыве соединения с платкой, данные на UART в блютуз модуль HC все равно слались в цикле. потом при восстановлении подключения эти данные все равно доходили в правильном порядке! Т.е. достоверность приема так же есть в протоколе BlueTooth? или так просто реализован стэк в этом модуле?
  9. нужно только одна две таких "коробочек", что бы 48 повысить до скольких нужно, добавив их последовательно с 48 вольтами, у той же фирмы есть и на другие напряжения "коробочки", а так что подобрать можно, нужен DC/DC не более 80 ватт. конструктивно сложно это не может быть, среди "электротранспортников" это популярный и надежный метод. Возможно вы не до конца поняли мою мысль. взгляните еще раз на схему. стандартная это какая? единственный тут неприятный момент, это когда напряжение на батарейке просядет ниже 48, но он решаем)
  10. допустим это и далее из линейки той же компании можно выбирать, не реклама, просто такой под ногами валялся)) если уж очень точно можно набрать из нескольких штук, к тому же у них выходное подстраивается +-10%
  11. Есть способ мне кажется проще и дешевле, вот достаточно обычный способ зарядки батареек среди электролисапедистов)) можно сделать вот такую вольтодобавку с помощью гальванически развязанного ДС преобразователя, найти его на нужное напряжение и необходимую мощность не составит особого труда. наверно еще потребуется дохлый дс/дс для драйвера. Так что думаю можно обойтись без прямых киловатных преобразователей :rolleyes:
  12. ТС не указал какой мощностью надо заряжать батарею! Если хватит десятка ват, то можно плюнуть и поставить резистор и диод на батарею, если больше, то схем будет дороже, тока надо подсчитать в действительности ли требуется такую мощность вкачивать в батарейку(при малых зарядных токах она и проживет дольше)
  13. Да согласен, "About Us" и "Contacts" зполнить вполне можно
  14. Шукшину думаю можно и простить)
  15. удивительно что в в конце 2013 года никто не упомянул HTML вот такой интерфейс с помощью него можно сделать а вот его код не считая css файла <html> <head> <meta charset="utf-8" /> <link rel="stylesheet" media="all" href="css/main.css"></link> <title>Chrome ADK control</title> </head> <body> <header> <div id="expand" class="expandable"> <div id="status">Hover here to connect</div> <div id="handler">settings</div> <div class="commands"> <select class="serial_devices"> </select> <button class="refresh">refresh</button><br/> <button class="open">open</button> <button class="close">close</button> <div class="log"></div> </div> </div> <nav> <ul> <li><a id="inlink" href="#inlink">In</a></li> <li><a id="outlink" href="#outlink">Out</a></li> </ul> </nav> </header> <section id="in"> <article class="temp"> <p>Temp<label><span id="temp">80</span>°</label></p> </article> <article class="light"> <p>Light <label><span id="light">86.4</span><small>%</small></label> <strong><span id="lightv1">885</span></strong>/1024 </p> </article> <article class="buttons"> <p>Buttons<br/> <div id="b1"></div> <div id="b2"></div> <div id="b3"></div> <div id="bc"></div></p> </article> <article class="joys"> <p>Joystick<br/> <div id="joy"> <div class="pointer">0,0</div> </div> </article> </section> <section id="out" class="hidden"> <article class="servos"> <p>Servo<sub>1</sub></p> <input type="range" min="0" max="100" value="0"/> <p>Servo<sub>2</sub></p> <input type="range" min="0" max="100" value="0"/> <p>Servo<sub>3</sub></p> <input type="range" min="0" max="100" value="0"/> </article> <article class="relays"> <p>Relay<sub>1</sub><button class="r1">Off</button></p> <p>Relay<sub>2</sub><button class="r2">Off</button></p> </article> <article class="leds"> <p id="led1"><label>Led<sub>1</sub></label> <input class="r" type="range" min="0" max="255" value="0"/><span>0</span> <input class="g" type="range" min="0" max="255" value="0"/><span>0</span> <input class="b" type="range" min="0" max="255" value="0"/><span>0</span></p> <p id="led2"><label>Led<sub>2</sub></label> <input class="r" type="range" min="0" max="255" value="0"/><span>0</span> <input class="g" type="range" min="0" max="255" value="0"/><span>0</span> <input class="b" type="range" min="0" max="255" value="0"/><span>0</span></p> <p id="led3"><label>Led<sub>3</sub></label> <input class="r" type="range" min="0" max="255" value="0"/><span>0</span> <input class="g" type="range" min="0" max="255" value="0"/><span>0</span> <input class="b" type="range" min="0" max="255" value="0"/><span>0</span></p> </article> </section> <script src="js/serial.js"></script> <script src="js/adk.js"></script> </body> </html> ничего не нужно покупать и устанавливать, только любимый браузер и блокнот!!!
  16. Возник глюк с работой SDIO в STM32. Использую ФС от чана . Неправильно читает данные из секторов. Вернее не до конца считывает сектор, но ф-ция f_read возращает, что данные считались все. Причем проблемы возникают если встречаются большие массивы с единственным значением 0xFF, c "разношерстными" данными глюка не земечано. У кого-нить что-нибудь подобное было?
  17. ради интереса выставил char знаковым на результаты это никак не отразилось
  18. Все теперь ошибка появилось.... я могу быть спокоен :laugh: Наконец все понятно, С++ может по разному интерпретировать строки как массив chаr или же как uint8_t Cпасибо Всем за обсуждение!
  19. я тоже так подумал бы, если бы не одно но: { .... void CL_StringLib::Add(const char *); ..... CL_StringLib & operator += ( char const * addpoint ) { Add(addpoint); return *this; } то в строчке "Add(addpoint);" выдает ошибка Error[Pe167]: argument of type "char const *" is incompatible with parameter of type "uint8_t const *" если в исользовать ф-ции Add вне класса типа String.Add("dfdf"); не выдается даже ворнинга! Т.е. как-то он не всегда расширяет параметры!
  20. я не отрицаю что это три разных типа, мне непонятно почему ф-ция объявленная как void Add(const uint8_t * point) не выдает даже варнингов в строчках типа Trip.Add("Rm"); а при применение оператора вызывает ошибку!
  21. определил так. теперь ошибка пропала в обоих строках. посмотрел какои у меня char: так что непонятно почему он не хочет совмещать uint8_t и char! Далее выяснилось вот что. Ф-ция член void inline Add( uint8_t const * addpoint) спокоино програтывает строки в ф-циях вне класса типа Trip.Add("fdf"); Но выдает ошибку в теле ф-ции оператора += CL_StringLib & operator += ( uint8_t const * addpoint ) { Add(addpoint); return *this; } пишет Error[Pe167]: argument of type "char const *" is incompatible with parameter of type "uint8_t const *" C:\..... 83 да включает, даже если убрать условие, дело это не меняет ((
  22. Это мысль проверить знаковыи или не знаковыи у меня char! вариации с const к успеху не привели. хотя в том же классе есть ф-ция-член типа void CL_StringLib::Add(const uint8_t * string_point); которая спокоино проглатывает "char const *" !! строчка с (SPEED_UNITS) должна выглядить так ( (SPEED_UNITS) ? " Km":" M"); там немного более сложное условие, но ни в том ни другом виде это не влияет на ошибку.
  23. работаю в IAR 6.40 есть класс, в котором определен оператор += class CL_StringLib { ///..... CL_StringLib & operator += (const uint8_t * addpoint ) { //.... return *this; } } далее в коде встречается использование этого оператора: .... Trip += ( (SPEED_UNITS)" Km":" M"); Trip += "mm"; .... и в первой строчке выдает ошибку Error[Pe349]: no operator "+=" matches these operands C:\..... operand types are: string_lib::CL_StringLib += char const * во второй Error[Pe349]: no operator "+=" matches these operands C:\.... operand types are: string_lib::CL_StringLib += char const [3] непонятно как так он не находит этого оператора и почему он пытается копировать массив в ф-цию оператора?! можно конечно отделаться сделав так: .... Trip += (const uint8_t *) ( (SPEED_UNITS)" Km":" M"); .... но хочется что бы было кошерно. будут какие-нибудь соображения как сделать лучше?
×
×
  • Создать...