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

dosikus

Members
  • Постов

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

  • Посещение

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

  1. Для этого делается один шаблон который тиражируется по проектам, и никаких сторонних либ НЕ НАДО! О тактировании писал выше, нет там ничего сложного... А вам надо осознать бритву Оккама, калокуб создан в полной противоположности сему принципу, и в результате вместо ясной и прозрачной работы с железом получили один сплошной геморрой...
  2. И эта простыня кому то интересна ? Вы издеваетесь? #define BUTTON_1 GPIOx->IDR & GPIO_IDR_IDR1 */ cut if (BUTTON_1) {}; Ну и где код более читаем, прост и быстрее?????
  3. Плохо то что вы не поймете ни железо ни работу с ним. То что вы расписываете как свою работу с SPL и есть танцы с бубном , при работе с регистрами все намного проще. Да ничего он не дает, тупиковый путь ардуньи и не более...
  4. Бред, причем полный. Учить железо по калокубу и SPL невозможно и тех аппаратных реализаций ни с SPL ни тем более с калокубом вы просто не осознаете. А по ссылке не " Автор удачно все рассказывает" а пытается натыкать в калокубе непоймиче , сам ни черта не понимая. Как и писал выше - натыкивают подобие софтового ногодрочерства в avr ...
  5. E_C_C, для STM32 программатор как таковой не нужен , большинство имеют встроенный бутлоадер через UART . А F0x2 имеют встроенный бутлоадер DFU к тому же crystall less, так что соединяем по USB и льем прошивку . Для комфортной отладки нужен программатор/отладчик , но и его можно изготовить без стороннего программатора. Совершенно верно. В 8ми битках вся периферия это примитивный полуавтомат, в то время как в STM32 периферия способна работать полностью автономно. И самое главное адепты калокуба и SPL совершенно не видят этих плюшек и продолжают ваять софтовый ногодрыг по привычке...
  6. Забыть о своем "плодотворном опыте" на аурдунье раз и навсегда. Прерогатива, как аурдуньи в частности так и avr в общем - в софтовом ногодрыге , в то время как STM32 позволяет создавать недорогие полностью аппаратные решения. И для этого не нужны готовые библиотеки. И тем более кухаркины статьи, подобные "товарища narod stream" , что учат сами ни черта не зная и не умея. Как и писал здесь ранее - для квик старта достаточно иметь F0 в TSSOP20 корпусе , плату адаптер TSSOP -DIP. Для более комфортного вхождения нужен JLINK , который можно самостоятельно изготовить из F103 или F072 или любого набортного STLink v2 или китайского огрызка STlink v2 . Так же крайне желательно иметь логический анализатор. В любом случае крайне желательно изучение английского языка и документации от производителя. Использование калокуба и SPL при изучении сведет на нет всю прелесть STM32 и в итоге получится та же самая ардунья...
  7. mail_robot, результат выше, раскройте глаза. Пора бы снять розовые очки и не уподобляться ардуинщикам...
  8. Ога, ога . И самое главное пИсатели в калокубе даже не понимают что и зачем оно натыкано ... А когда прочитаешь RM оказывается все просто и понятно. Насчет необхватности флеша - весьма доставило, вот такие " тыкатели в калокубе" умудряются утыкать весь флеш под завязку... Внятное объяснение использование DeInit местный гуру может дать?????????
  9. А теперь смотрим как это делается без калокубов void TIM3_IRQHandler (void) { if (TIM3->SR & TIM_SR_UIF) { TIM3->SR&=(~TIM_SR_UIF); GPIOD->ODR^=GPIO_ODR_ODR_13; } } void TIM3_init(void) { RCC->AHB1ENR|=RCC_AHB1ENR_GPIODEN; GPIOD->MODER &= ~GPIO_MODER_MODER13 ; GPIOD->MODER |= GPIO_MODER_MODER13_0 ; RCC->APB1ENR|=RCC_APB1ENR_TIM3EN; TIM3->PSC=8400-1; TIM3->ARR=10000-1; TIM3->DIER=TIM_DIER_UIE; NVIC_SetPriority(TIM3_IRQn,15); NVIC_EnableIRQ(TIM3_IRQn); TIM3->CR1|=TIM_CR1_CEN; } И главное смотрим размер кода ... Program Size: Code=792 RO-data=408 RW-data=0 ZI-data=1632 И это вместе с инитом тактовой...http://mcu.goodboard.ru/viewtopic.php?id=11
  10. Марк, ознакомьтесь на досуге с этим документом http://d1.amobbs.com/bbs_upload782111/files_10/ourdev_265522.pdf
  11. Вот вы сами и ответили . В чем различия - в отсутствии необходимости задействовать лишние сущности. И что важно- работа всей конструкции без участия юзер-кода, чистА аппаратно. Это лишь ваша точка зрения, уверяю вас- большинство посетителей посчитают ваши задачи баловством или того хуже -почесыванием ЧСВ. Бинго!!!! Честно говоря было подозрение , но думалось все же это коллега . Хотя двое упоротых это уже слишком... Вы путаетесь в показаниях. Вы уж определитесь - или я даю знания на халяву либо отшиваю конкурентов.
  12. И где грубость я вас спрашиваю? Вы же ищите документацию на родном языке...
  13. Естественно с вашей точки зрения - все бесполезно. Начните хотя бы читать, хотя я подозреваю что незнание языка вам это не позволит...
  14. Читать что? Надумки ТС , в которые он уверовал благодаря таким как вы? Тем кто на каждом углу сыпят страшилки о арм и необходимости начинать с пЫк/авр. ТС нуб и он априори обязан заблуждаться и не знать что для него лучше. А я стараюсь оградить его и подобных от ваших сект адептов старья ...
  15. Важно что сэмлирование идет по таймеру , а не -пнули улетело все . Инкремент адреса регистров периферии и сброс на адрес первого регистра вручную? Интерлив памяти так же вручную? И собственно что я вам объясняю ? У вас под рукой и F0 и пЫк24 - испытайте все сами, потом обсудим... Эти режимы есть и в просто DMA и ни разу не аналог DMA burst. Опыт показывает что переводной материал не стоит внимания. Да и задачи сейчас оказываются не по зубам 8ми биткам. Ну что ж удачи в реализации "ногодрыгом" LDTC , внешней SRAM и FSMC. Хотя вот по проще - WS2812b одновременно 16 каналов , светодиодов на 300 на канал.
  16. Я то как раз понимаю, важно чтобы вы это поняли , а не отписывались стандартными фразами, не понимая сути. А я вас уверяю что периферия стм и тех же пЫк - две большие разницы, как и работа с ними. Это и есть бездумный шаблонный ответ, сказанный задолго до вас . Одноплатники не замена МК ни разу. На одну итерацию счетчика в один регистр? В том примере DMA burst раскидывает массив одновременно в CCR1- ССR4 Реквестом служит событие Update того же таймера. Данные хранятся в массиве в виде data1 ,data2,data3,data4,data5,data6,data7,data8 и т.д. За первый реквест( первую транзакцию) data1 заносится в CCR1,data2 заносится в CCR2,data3 заносится в CCR3,data4 заносится в CCR4 Второй реквест (вторая транзакция) data5 заносится в CCR1,data6 заносится в CCR2,data7 заносится в CCR3,data8 заносится в CCR4 И так весь массив . И далее с начала. Единственное "неудобство" - заполнение массива интерливом ...
  17. За одну транзакцию заполняем регистры таймера от CR1 до CCR4 . В вышеупомянутом случае 4 16 битных данных ложатся за один реквест в регистры CCR1 -ССR4 Пропускная способность шины здесь дело десятое
  18. Berg, вы всю жизнь хотите быть новичком ? Да и новичку с нулевыми знаниеми , намного проще освоить стм чем упоротым адептам авр/пЫк. Объяснить почему? Зачем вам мои проекты, они все коммерческие , за исключением того что лежит в сети. Ок, только CMSIS . Зато рациональное решение , после раскопки нутра калокуба и спл становится жаль любителей этого г* Иногда из-за шаблонности мышления не замечают очевидных плюшек. Как было с тем же DMA burst - где как оказалось не нужны 3-4 канала DMA , все уложилось в 1. http://mcu.goodboard.ru/viewtopic.php?id=31 Кстати и в сниппетсах есть ляпы, речь о сниппетсах F0 ... Сила привычки и только.
  19. F3 не пробовали ? На счет "блондинок" - вы используете спл и калокуб? И вынужден повторить - F0 сравниваем с 8ми битками а не DSP, ок ? И снова таки в рамках местных реалий, то бишь DIY. А вы разве не видите что одни и те же реализации на 8ми битках кочуют из года в год? Одно сплошное ногодрочерство , с одними и теми же ляпами и мифами. F0 свежая струя в это болото, и если не захламлять мозг облегчалками то и порог вхождения не намного выше тех же пЫк...
  20. Вот нечто подобное на F4 дискавери void EXTI0_IRQHandler (void) { EXTI->PR |=EXTI_PR_PR0; GPIOD->ODR^=GPIO_ODR_ODR_13; } void keypad_init(void) { RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN |RCC_AHB1ENR_GPIODEN; GPIOD->MODER &=~(GPIO_MODER_MODER13 ); GPIOD->MODER |=GPIO_MODER_MODER13_0 ; GPIOA->MODER &=~ (GPIO_MODER_MODER0 ); GPIOA->PUPDR&= ~(GPIO_PUPDR_PUPDR0 ); EXTI->IMR |= EXTI_IMR_MR0; EXTI->RTSR|=(EXTI_RTSR_TR0); EXTI->FTSR &=~(EXTI_FTSR_TR0); NVIC_SetPriority(EXTI0_IRQn ,15); NVIC_EnableIRQ(EXTI0_IRQn ); }
  21. Проще ( если имелось ввиду дешевле) , как и писал выше : F0 в TSSOP 20 + адаптер TSSOP20 to DIP. Здесь есть варианты: STM32F030F - нужен будет адаптер UART<->USB STM32F042F- нужен только разъем microUSB Этого хватит для полноценной прошивки чипов Ну или купить китайский огрызок STLink'a https://ru.aliexpress.com/item/ST-Link-V2-stlink-mini-STM8STM32-STLINK-simulator-download-programming-With-Cover/1956977845.html?spm=2114.03010208.3.1.4kNeB2&ws_ab_test=searchweb0_0,searchweb201602_4_10065_10068_433_434_10136_10137_10138_10060_10062_10141_10056_10055_10054_301_10059_201_10531_10099_10530_10103_10102_10096_120_10052_10144_10053_10050_10107_10142_10051_10106_10143_10526_10529_10528_10523_10084_10117_10083_10119_10080_10082_10081_10110_10111_10112_10113_10114_10037_10033_10078_10079_10077_10073_10070_10122_10123_10120_10127_10124_10125,searchweb201603_13,afswitch_1_afChannel,ppcSwitch_3,single_sort_0_total_tranpro_desc&btsid=fc1f4652-3925-40ef-ac2f-943dbe697e5b&algo_expid=62375c58-a4d5-406d-a98c-6bb46b31acdc-0&algo_pvid=62375c58-a4d5-406d-a98c-6bb46b31acdc Тогда будет доступна и отладка, и в дальнейшем его можно перешить в JLink. Почему именно F0 а не F1, У F0 новая более совершенная периферия. IDE - Keil или SES , обе для F0 совершенно бесплатные. Документации хватит той что от производителя. Переводы, разжевывания и примеры выкладываем здесь, можем даже по запросу -http://mcu.goodboard.ru/ Есть сниппетсы ( примеры кода) от производителя. Сразу предупреждаю - калокубы, спл не использую, путь к аурдунье нам не нужен...
  22. Конкретней , это общие ничего незначащие лозунги. Многие подобные "ораторы" были не восторге, и как оказалось они продолжали ваять софтовым ногодрыгом, даже не удосужившись изучить RM... пЫк 24 это весьма запоздалый вы*ер микрочипа , подобный атХЭмега , эти чипы и обсуждать не стоит. И речь все же о 8ми битках, точней о их замене...
  23. На большинстве 8ми биток такая же картина . Вся периферия несуразный полуавтомат , в то время как в stm32 реализуются полностью аппаратно. Тот же ADC с DMA позволяет полностью аппаратно несколько каналов складывать в массив . Остается только выгребать данные, что так же можно делать аппаратно. Или как здесь http://mcu.goodboard.ru/viewtopic.php?id=31 Полностью аппаратный генератор 4х фаз синуса... Ну или полностью аппаратный драйвер LED 7 сегментников на 8 разрядов...
  24. Вопрос именно к вам. В современных МК упор сделан именно на периферию , и что вам даст изучение старого ядра ? Ваш опыт на авр и 51ых будет висеть мертвым грузом в лучшем случае, а в худшем (что сейчас со многими и происходит) разрыв шаблона просто не даст изучить новое. И на МК с мощнейшей периферией так и продолжают юзать софтовый ногодрыг...
  25. Геннадий, я адекватно смотрю на окружающий мир. Использование пЫк 10,12,16,18, и avr и других 8ми биток - это топтание на месте. Применение stm32 даже в DIY имеет существенное преимущество ... Аппаратная реализация вместо софтового ногодрыга...
×
×
  • Создать...