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

Eddy_Em

Members
  • Постов

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

  • Посещение

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

  1. Т.е. считается, что пользователи сего форума - дебилы безмозглые? Ну-ну… На "электрониксе" такой же мудачески-убогий движок, но теги работают! А вообще, я поражен просто: существует много приличных движков для форумов. Самый приятный - как на ЛОРе (linux.org.ru). Но такого отстойного говна, как на "электрониксе" и здесь я еще не встречал. Как будто бы самый рукожопый двоечник среди веб-писак его создавал!
  2. Нафиг мне эти кнопочки убогие? Это ж дикость просто!
  3. На линии-то появился высокий уровень? Осциллографом можно посмотреть, есть ли ACK от EEPROM'ки. Или добавить отладочный вывод в код. Ну и блокирующие while сменить на таймаут. Плюс более точно следовать алгоритму из мануала.
  4. Нельзя ничего полезного вырубить, если делать так: [code] GPIOB->CRL = (GPIOB->CRL & ~(GPIO_CRL_CNF6 | GPIO_CRL_CNF7)) | CRL(6, CNF_AFOD | MODE_NORMAL) | CRL(7, CNF_AFOD | MODE_NORMAL); [/code] Сначала сбрасываем то, что хотим изменить, потом изменяем. А если тупо делать |= , то в случае, когда эти ноги уже как-то были настроены, получим черт знает что! |= годится лишь для изменения группы битовых флагов, а в нашем случае флаги имеют ширину по 2 бита, нельзя. И лучше оформить макросами все. Вот, у меня так: [code] /************************* GPIO *************************/ /** CNF1: 0 - general output or input; 1 - alternate output or pullup/down input CNF0: 0 - push/pull, analog or pullup/down input MODE: 00 - input, 01 - 10MHz, 10 - 2MHz, 11 - 50MHz Pullup/down: ODR = 0 - pulldown, 1 - pullup GPIO_BSRR and BRR also works IDR - input, ODR - output (or pullups management), */ // MODE: #define MODE_INPUT 0 #define MODE_NORMAL 1 // 10MHz #define MODE_SLOW 2 // 2MHz #define MODE_FAST 3 // 50MHz // CNF: #define CNF_ANALOG (0 << 2) #define CNF_PPOUTPUT (0 << 2) #define CNF_FLINPUT (1 << 2) #define CNF_ODOUTPUT (1 << 2) #define CNF_PUDINPUT (2 << 2) #define CNF_AFPP (2 << 2) #define CNF_AFOD (3 << 2) #define CRL(pin, cnfmode) ((cnfmode) << (pin*4)) #define CRH(pin, cnfmode) ((cnfmode) << ((pin-8)*4)) [/code] А бесполезный SWD я сразу же отрубаю при старте МК.
  5. вот, где собака порылась! Ну нельзя же MAGICK писать, вот так будет понятней: [code] GPIOB->CRL = (GPIOB->CRL & ~(GPIO_CRL_CNF6 | GPIO_CRL_CNF7)) | CRL(6, CNF_AFOD | MODE_NORMAL) | CRL(7, CNF_AFOD | MODE_NORMAL); [/code] И да, там должно быть не |=, а строго = (мало ли, что вначале там было)! В общем, нужно писать GPIOB->CRL = 0xDD000000, например. А в вашем случае ноги настроены как тупые выходы, естественно, ничего не работает.
  6. @ilya_orel00 , нельзя тупо ожидать: может, событие вообще не произойдет? Все ожидания надо делать с таймаутом. И проверять ошибки. Хотя, по идее, такой простой код должен работать. Может, получатель не дает ACK? Что вообще на втором конце шины сидит?
  7. Я в случае чтения своих старых комментариев иной раз думаю: "да, сейчас я уже столько не выпью" ☺
  8. Для начала напишите элементарный код, который в цикле в суперлупе будет что-нибудь по I2C отправлять. Учтите все тонкости errata. [url=https://github.com/eddyem/stm32samples/blob/master/F1-nolib/I2Cscan/i2c.c#L120]Вот, например[/url] - работающий код. У STM32F103 I2C очень кривой: если какую-нибудь тонкость пропустить, ничего работать не будет.
  9. а) проприетарное дерьмо, б) работает только под мастдайкой. Зато есть уйма GPIO всяких разных. Конкретно в этом случае: три таймера, читающих энкодеры, три таймера, генерирующих CLK для шаговика, всякие GPIO для ~EN, DIR и т.п. Это невозможно "оптимизировать", если что. Дрыгать ногой, выдавать тестовые сообщения и т.п. Я вот USB отлаживал через USART1: сделал буфер пожирней, настроил его на 3Мбод и смотрел, что там у меня происходит, когда был затык с этими дурацкими регистрами (додумались же в один регистр пихать флаги с разной реакцией). Достаточно в прерывании таймера выставлять флаг, а в суперлупе выдавать код! Либо настроить выдачу по DMA, а таймер пусть инициирует передачу. Но так делать нельзя. Оно разве что в хеллоуворлде будет работать.
  10. Кайло-то для профессионала? Ну-ну... Повесить одновременно работающие CAN, USB, I2C и SPI на одни и те же ноги? Ну-ну.. Без понятия. Я никогда в жизни gdb не использовал. И как-то не вижу смысла в этом. Для отладки есть более удобные методы. Ну кто же в прерывание таймера запихивает жирнючую передачу данных по I2C?
  11. Ну, не знаю. Вот я набираю: [b]жирный[/b] - и фигвам! Или код хочу вставить - аналогично, когда пишу теги code и вставляю между ними кусок кода, ничего не работает! Вот пример. Вставляю код: [code] These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] sci-libs/libapogee-3.0.3179::eddy_overlay 0 KiB Total: 1 package (1 reinstall), Size of downloads: 0 KiB >>> Verifying ebuild manifests >>> Emerging (1 of 1) sci-libs/libapogee-3.0.3179::eddy_overlay >>> Installing (1 of 1) sci-libs/libapogee-3.0.3179::eddy_overlay >>> Jobs: 1 of 1 complete Load avg: 5.56, 5.36, 4.64 >>> Auto-cleaning packages... [/code] Это всегда работало, а теперь - нет!
  12. [code]RCC->APB2ENR |= RCC_APB2ENR_IOPCE;[/code] [url=https://github.com/eddyem/stm32samples/tree/master/F1-nolib/led_blink]Вот[/url] - простая мигалка.
  13. Только что, редактируя сообщение, обнаружил, что тег url не работает! Обернул гиперссылку в тег, а ничего не вышло. [url=http://test.test]Тест[/url]. Проверю другие теги: [b]Жирный[/b], [i]курсив[/i], [s]зачеркнутый[/s], [code]for(int i = 0; i < 100; ++i){}[/code] [quote]Цитата[/quote] Вообще теги работать перестали! Это что за рукожопие такое???
  14. Тактирование порта же не включено! Что до программатора, лично я вообще предпочитаю на STM32F072 работать через DFU! Крайне удобно: ничего лишнего не нужно. А запускается режим DFU из прошивки. Дал в терминале МК команду "dfu", в соседней вкладке терминала запустил "make dfuboot" — вуаля! Только питание переключить после прошивки (т.к. dfu-util не умеет перезагружать МК). Зато не нужно лишних ног выбрасывать коту под хвост. [url=https://github.com/eddyem/stm32samples/tree/master/F0-nolib/3steppersLB]Вот здесь[/url], например, у меня только одна нога не используется — какой уж тут SWD (или тем паче JTAG)? А отладка этими страшными gdb — на любителя. Многие вещи - тот же USB и всякие другие рилтаймовые штуки, где задержки неприемлемы - отладить через JTAG или SWD невозможно. st-link применяю лишь для STM8, да в очень редких случаях с STM32F103.
  15. Нет, это - революция. Двигатель прогресса, между прочим! Я там не был, так что проверить это не смогу. Тады понятно... Ну, хоть не "демократ" или "либерал" какой.
  16. Каминщик, а я смотрю, вы - либо фашист, либо что-то похуже, так? Потому что какой вменяемый человек будет выступать против социализма? Только какой-нибудь последователь одной из форм фашизма…
  17. Зачем всяких уродов слушать? Они никогда ничего хорошего в пользу России или Беларуси не скажут, что бы ни происходило! Единственным грамотным вариантом было бы свергнуть правительства США и Гейросоюза и установить там социализм! А покуда этими странами правят шестерки жидомасонов, нормальной политики от них ждать не приходится. Так и будут развлекаться то с фашизмом, то с антифашизмом, то излечивая гомосеков, то считая их нормальными и т.д.: постоянно из одной крайности в другую бросаются! И да, что до Лукашенко, то ни одного вменяемого конкурента у него не было. Зато была толпа прозападных уродов, которых я бы на месте Батьки просто к стенке поставил как врагов народа! Бред-то какой... Откуда вы такую чушь черпаете?
  18. Нет, первый я вообще не смотрю. Иной раз мелькают перед глазами всякие дурные заголовки с передовой яндекса. Понятно, что части из них верить нельзя, но вот, скажем, слышал, что в Латвии запретили "георгиевские ленточки". Если это - правда, то характеризовать латышские власти иначе, как профашистские, ну никак не получится! А вся истерия "запада" о "чудовище-России" - ну не бред ли? P.S. да и на самой Украине разве не почитают фашистов? Бывшим ССовцам ордена раздают, в честь бандита Бандеры улицы называют...
  19. Так реально движок изначально был дурацким, а теперь еще хуже стало... Вот еще бесит вечная борьба с форматированием: ну почему нет "галочки", позволяющей этот идиотский автоформат отключать, чтобы не бороться с вторичной автоматической вставкой тегов url, когда помещаешь гиперссылку, да и нормальных отступов в теге code нет без уродского редактора. И если хочешь отредактировать сообщение с кодом, то после закрывающегося тега code уже ничего не вставить!.. Вот я бы обеими руками и ногами поддержал переезд форума на вменяемую платформу, которая не тормозила бы так! Даже доисторический дырявый phpbb намного удобней!
  20. Уж с таким-то доменом =D Там же 146% лжи!!! Даже на "первом канале" так не врут, как на украинском телевидении. Вообще, незавидная судьба у бедных украинцев. Единственная надежда, что страну пополам поделят Россия и Польша: фашисты наконец-то получат желанный евросоюз (как раз под его развал), а восточная половина перестанет бояться, что их будут в концлагерях гнобить.
  21. А я вот вообще поражен, что поляки до сих пор огонь на поражение не открыли! И почему у них минных заграждений нет вдоль границы? Дикость какая-то...
  22. Понабежала толпа зануд и раздула… Весь смысл не в настоящем переводе, а в точном! А точный перевод как раз словом "высококонченный" и характеризуется! Маркетинговый ход по отношению к аудиоложцам ☺
  23. В таком случае просто сама напрашивается сенсорная панель поверх экранчика! И не нужно сверлить пластик под кнопки. Экран, кстати, можно и побольше сделать, хотя бы дюймов 6 в диагонали: что можно на 128×128 пикселей разглядеть? И тыкать можно будет по менюшкам пальцем, а не стило.
  24. Второе — калибровки по платиновому термометру, сглаженные, аппроксимированные полиномом пятой или шестой степени и в соответствии с желаемой точностью (±0.5℃ — все равно NTC лучше никогда не даст) разложенные кусочно-линейной аппроксимацией. Октава - свободный софт, так что все ОК. Не на пытхоне же [censored] писать! Но кое-что я рассчитывал и на сях, и прямо в репу вкладывал в отдельную директорию сишный файлик, который компилируется даже без Makefile'а (просто gcc file.c) и позволяет в случае необходимости нужный заголовочный файл сгенерировать. Еще, бывает, баш-скрипты вкладываю: для того, чтобы сгенерировать, допустим, заголовочный файл с макросами, позволяющими удобно шрифты описывать (в виде X___XX_X, а не менее наглядных 0b10001101). Ну или просто в комментах содержимое этих скриптов пишу: вдруг в другой раз (или кому-то еще) захочется что-то подобное сделать...
  25. Вообще, даблклик - очень фиговая штука! В "компьютерных" вещах обычно делают так, чтобы одиночный щелчок, скажем, никак не обрабатывался, если есть реакция на двойной, либо же чтобы одиночный тупо втыкал курсор, а двойной - выделял все слово (т.е. чтобы события были более-менее "наследуемыми"). В веб-мордах стараются вообще двойной щелчок не использовать. Вот и в данном случае подозреваю, что можно отлично без двойного щелчка обойтись, просто введя реакцию на события "нажал", "отпустил" и "удерживаешь". Я как-то шутки ради сделал ввод текста одной кнопкой - морзянкой. Правда, т.к. морзянки не знаю, даже коммит в гитхаб с этой порнухой не делал. Так и канула в /dev/null.
×
×
  • Создать...