Например TDA7294

Форум РадиоКот • Просмотр темы - STM32 новичку в ARM что к чему
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 17, 2024 03:00:25

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 8459 ]     ... , , , 274, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пт апр 26, 2019 06:52:14 
Опытный кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 163
Зарегистрирован: Сб дек 22, 2012 08:17:42
Сообщений: 744
Откуда: Караганда, Казахстан
Рейтинг сообщения: 1
isx писал(а):
Использую в STM32 часовой кварц.
Тут не так давно обсуждалось. Генератор LSE у STM32 рассчитан на кварцы с load capacitance (CL) <=7 пФ. Подробности в даташите на конкретный камень, в разделе External clock source characteristics, во второй половине раздела (в первой идут материалы по HSE).

Практически, в продаже встречаются кварцы с CL = 6 пФ, но не так часто, как хотелось бы. Гораздо чаще продаются кварцы с CL = 12 пФ. По внешнему виду их не отличишь - спичка и спичка. Только вот с кварцами, у которых CL > 7 пФ, генератор LSE чипов STM32 работает крайне неустойчиво . Может не запускаться, может врать по частоте...

И взятый наугад кварц 32768, скорее всего, не будет 6-пикушечным. Да и китайцы на свои пробные платы тоже, бывает, лепят что попало, особенно на дешевые.

На Али 6-пФ кварцы ищутся по <32768 6pF>.

Добавлено after 20 minutes 36 seconds:
Да, разбираться с периферией STM32 надо не по даташиту, а по Reference manual'у на соответствующую серию камней.

_________________
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)


Последний раз редактировалось afz Пт апр 26, 2019 14:29:05, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пт апр 26, 2019 12:47:59 
Опытный кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 11
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 823
Откуда: Киселевск
Рейтинг сообщения: 3
Где-то видел картинку, на ней была обозначена область ОЗУ, в конце самом стек, а куча лишь часть памяти, которая располагалось перед стеком. Так же тоже стеку некуда расти...


Куча не является обязательным для реализации приложения. Она в основном нужна для стандартной библиотеки Си для работы с динамическим распределением памяти типо malloc это обеспечивает переносимость кода.
Вы можете убрать ее и сохранить ОЗУ.

По стеку тут чтиво:
Overview of stack size requirement estimations in Cortex-M based applications
https://community.arm.com/developer/ip- ... plications

_________________
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пт апр 26, 2019 15:50:19 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 11
Рейтинг сообщений: 26
Зарегистрирован: Вс июн 26, 2011 20:03:21
Сообщений: 2310
Рейтинг сообщения: 0
Да, разбираться с периферией STM32 надо не по даташиту, а по Reference manual&#39;у на соответствующую серию камней.

Я его и имел ввиду, просто по привычке RM даташитом обозвал :)
За информацию спасибо, проверю обязательно.

Добавлено after 1 minute 49 seconds:
Тут что-то по этому поводу было


Видел, но тут нет описания работы с регистрами (формулы вычисления и т.п).


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вт апр 30, 2019 19:46:28 
Друг Кота

Карма: 20
Рейтинг сообщений: 228
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6388
Рейтинг сообщения: 0
Сам конфиг выглядит так на CMSIS, это то что вы напридумывали:

Код:
GPIOA->CRL = GPIO_CRL_MODE0_0 | GPIO_CRL_CNF0 | GPIO_CRL_CNF1_1 | GPIO_CRL_CNF2_1 | GPIO_CRL_MODE3_1 | GPIO_CRL_CNF3_1;
GPIOA->CRH = GPIO_CRH_MODE8_1 | GPIO_CRH_CNF13_1 | GPIO_CRH_CNF14_1;

Крайне дерьмово он у вас выглядит. Нечитабельно. И после компиляции тоже хрень полная:

Код:
;GPIOA->CRL = GPIO_CRL_MODE0_0 | GPIO_CRL_CNF0 | GPIO_CRL_CNF1_1 | GPIO_CRL_CNF2_1 | GPIO_CRL_MODE3_1 | GPIO_CRL_CNF3_1;
    4B06        ldr r3, =0x40010800
    F64A028D    movw r2, #0xA88D
    601A        str r2, [r3]

;GPIOA->CRH = GPIO_CRH_MODE8_1 | GPIO_CRH_CNF13_1 | GPIO_CRH_CNF14_1;
    4B04        ldr r3, =0x40010800
    4A04        ldr r2, =0x08800002
    605A        str r2, [r3, #4]


Цитата:
Через некоторое время забудете свой код и будете вспоминать как же вы там придумали конфигурировать,


Протрите глаза и сравните оба варианта:

Код:
/* 1. ================ */

  GPIOA->CRL = GPIO_CRL_MODE0_0 | GPIO_CRL_CNF0 | GPIO_CRL_CNF1_1 | GPIO_CRL_CNF2_1 | GPIO_CRL_MODE3_1 | GPIO_CRL_CNF3_1;
  GPIOA->CRH = GPIO_CRH_MODE8_1 | GPIO_CRH_CNF13_1 | GPIO_CRH_CNF14_1;

/* 2. ================ */

  *(uint64_t *) GPIOA = (
    PIN_CFG(0,  O_AF + O_OD + O_10MHZ) |
    PIN_CFG(1,  I_PULL)                |
    PIN_CFG(2,  I_PULL)                |
    PIN_CFG(3,  O_AF + O_PP + O_2MHZ)  |
    PIN_CFG(8,  O_2MHZ)                |
    PIN_CFG(13, I_PULL)                |
    PIN_CFG(14, I_PULL)
  );


Если и теперь не понимаете, что нагляднее и понятнее, то я не знаю, чем вам помочь.

Цитата:
и в сети вас не поймут.

Постарайтесь за себя говорить, а то выглядит, будто вы сами сомневаетесь в убедительности своих доводов.

Цитата:
Вы лучше аппаратуру, OS, драйверы изучайте и пишите хорошо. Книжки почитайте.

Не припоминаю, чтобы спрашивал у вас, чего мне лучше поучить и почитать. Держите ваши сверхценные советы при себе. Вам нужнее.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср май 01, 2019 08:05:52 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Желаю слышать критику, чем вышеозначенный подход плох, если он действительно плох.
Не буду касаться формы записи. Во-первых, это вкусовщина. Во-вторых, можно и лучше написать. Но я не об этом. Давай по технике.

Вот смотри. Твой код даёт.
Код:
4A0A        ldr r2, =0x40010800
F64A038D    movw r3, #0xA88D
4C09        ldr r4, =0x08800002
E9C23400    strd r3, r4, [r2, #0]
Казалось бы, всё круто. Но давай его сделаем "по классике". На форму записи закрываем глаза пока.
Код:
  GPIOA->CRL =                         
    PIN_CFG(0,  O_AF + O_OD + O_10MHZ) | /*  TIM2_CH1 PWM (OUTPUT, OPEN DRAIN, MEDIUM SPEEED)  */
    PIN_CFG(1,  I_PULL)                | /*  EXTI1 (INPUT, PULL-DOWN)                          */
    PIN_CFG(2,  I_PULL)                | /*  USART2 RX (INPUT, PULL-UP)                        */
    PIN_CFG(3,  O_AF + O_2MHZ)         | /*  USART2 TX (OUTPUT, PUSH-PULL, LOW SPEED)          */
    PIN_CFG(4,  I_ANALOG)              | /*                                      - unused -    */
    PIN_CFG(5,  I_ANALOG)              | /*                                      - unused -    */
    PIN_CFG(6,  I_ANALOG)              | /*                                      - unused -    */
    PIN_CFG(7,  I_ANALOG)              ; /*                                      - unused -    */   
  GPIOA->CRH =           
    PIN_CFG(0,  O_2MHZ)                | /*  GPIO (OUTPUT, PUSH-PULL, LOW SPEEED)              */
    PIN_CFG(1,  I_ANALOG)              | /*                                      - unused -    */
    PIN_CFG(2, I_ANALOG)              | /*                                      - unused -    */
    PIN_CFG(3, I_ANALOG)              | /*                                      - unused -    */
    PIN_CFG(4, I_ANALOG)              | /*                                      - unused -    */
    PIN_CFG(5, I_PULL)                | /*  SWDIO (INPUT, PULL-UP)                            */
    PIN_CFG(6, I_PULL)                | /*  SWCLK (INPUT, PULL-DOWN)                          */
    PIN_CFG(7, I_ANALOG)              ; /*                                      - unused -    */   
Получаем
Код:
LDR.N    R0,??PinCfg1_0   ;; 0x40010800
LDR.N    R2,??PinCfg1_0+0x4  ;; 0x8800002
MOVW     R1,#+43149
STR      R1,[R0, #+0]
STR      R2,[R0, #+4]
Размер кода такой же (команда STR 16-битная, а STRD 32-битная). Скорость исполнения по тактам посчитать (с учётом работы конвейера и разных шин) не берусь, но что-то мне подсказывает...

Так что, остаётся только удобство записи. Оно, конечно же, на порядок лучше чем предлагает Oxford, но работать ещё есть над чем :)


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср май 01, 2019 08:45:41 
Вымогатель припоя

Зарегистрирован: Вт ноя 02, 2010 17:46:37
Сообщений: 574
Рейтинг сообщения: 0
Подключаю Wiznet5300 по параллельной шине 16 бит

Код:
/*-- FSMC Configuration ----------*/

p.FSMC_AddressSetupTime = 3;

p.FSMC_AddressHoldTime = 2;

p.FSMC_DataSetupTime = 3;

p.FSMC_BusTurnAroundDuration = 1;

p.FSMC_CLKDivision = 1;

p.FSMC_DataLatency = 0;

p.FSMC_AccessMode = FSMC_AccessMode_A;

FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;
FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM;
FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; //8-bit Wiznet DATA line
FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;
FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;

FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);

/*!< Enable FSMC Bank1_SRAM Bank */
FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE);

//RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO, ENABLE);
RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FSMC, ENABLE);



Чтение заработало (первого регистра с адресом 0)
теперь делаю запись
Код:
#define SHAR_M            (0x60000008)
*(uint16_t *)SHAR_M = 0xFFFF;

Осциллографом смотрю а на линиях данных нули прут :shock:, причем одна линия в 1 даже если пишешь туда 0
Адрес выставляется правильно проверил.
Что не так делаю ?

PS: Железо рабочее, сначала подрыгал пинами отдельно и инициализировал w5300.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср май 01, 2019 08:57:49 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Клоки включать надо раньше чем начинаешь инициализировать периферию. И пины все в альтернативную функцию перевёл?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср май 01, 2019 10:04:08 
Вымогатель припоя

Зарегистрирован: Вт ноя 02, 2010 17:46:37
Сообщений: 574
Рейтинг сообщения: 0
Точно благодарю, так и знал что где-то в элементарном косячу.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср май 01, 2019 13:22:52 
Друг Кота

Карма: 20
Рейтинг сообщений: 228
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6388
Рейтинг сообщения: 0
Не буду касаться формы записи. Во-первых, это вкусовщина. Во-вторых, можно и лучше написать.

Можно подробнее с этого места?

Цитата:
Код:
LDR.N    R0,??PinCfg1_0   ;; 0x40010800
LDR.N    R2,??PinCfg1_0+0x4  ;; 0x8800002
MOVW     R1,#+43149
STR      R1,[R0, #+0]
STR      R2,[R0, #+4]
Размер кода такой же (команда STR 16-битная, а STRD 32-битная). Скорость исполнения по тактам посчитать (с учётом работы конвейера и разных шин) не берусь, но что-то мне подсказывает...

Я бы на вашем месте не слишком доверял подобным нелокализуемым "подсказкам". У кортекса-м3 обе названных команды 32-битные, где первая выполняется 2 цикла, а вторая 3.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср май 01, 2019 13:37:45 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
У кортекса-м3 обе названных команды 32-битные, где первая выполняется 2 цикла, а вторая 3.

STR пайплайнятся, STRD - нет, так что скорее всего пара STR тоже выполнится за 3 такта. И, кстати, STRD не атомарна.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср май 01, 2019 13:53:43 
Друг Кота

Карма: 20
Рейтинг сообщений: 228
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6388
Рейтинг сообщения: 0
Две STR атомарны? К чему это уточнение?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср май 01, 2019 14:13:52 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
Две STR атомарны? К чему это уточнение?

К тому что на прошлой странице ты сам в этой атомарности сомневался.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср май 01, 2019 18:24:07 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Можно подробнее с этого места?
Нельзя. Не хочу в очередной раз ссориться на ровном месте.

Я бы на вашем месте не слишком доверял подобным нелокализуемым "подсказкам". У кортекса-м3 обе названных команды 32-битные, где первая выполняется 2 цикла, а вторая 3.
Нет оснований не доверять компилятору.
Изображение
Вложение:
str.png [16.45 KiB]
Скачиваний: 694

А если учесть, что это одноразовая инициализация, то удобство записи важно, размер кода тоже имеет значение, а вот разница в несколько тактов на 72 МГц это десятки наносекунд. Вообще ни о чём. Частенько наоборот приходится десятки миллисекунд ждать пока вся схема оживёт и закончатся переходные процессы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт май 02, 2019 00:11:30 
Друг Кота

Карма: 20
Рейтинг сообщений: 228
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6388
Рейтинг сообщения: 0
Так понял, что возражения если и есть, то касаются они третьестепенных деталей. Это хорошо.

В качестве средства для развития алгоритмического воображения, предлагаю определить, что делает нижеследующий алгоритм, будучи запущенным на F103 c частотой 72мгц.

Код:
void main(void) {

  RCC->APB1ENR = RCC_APB1ENR_TIM2EN;
  RCC->APB2ENR = RCC_APB2ENR_IOPCEN;

  TIM2->ARR = GPIO_ODR_ODR13 * 2;
  TIM2->PSC = SystemCoreClock / (GPIO_ODR_ODR13 * 2) - 1;
  TIM2->CR1 = TIM_CR1_CEN;

  GPIOC->CRH = GPIO_CRH_MODE13_0;

  for(__O int *i = &GPIOC->ODR;; *i = TIM2->CNT & GPIO_ODR_ODR13);

}


Что изменится, если цифру 3 везде заменить на 4 ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт май 02, 2019 08:22:12 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
что делает нижеследующий алгоритм
Для начала, лишает автора премии. Затем, если компилятор принципиальный, то
Код:
Error[Pe144]: a value of type "uint32_t volatile *" cannot be used to initialize an entity of type "int volatile *"

И только если уговорить компилятор, то 1 Гц на выходе. В чём вопрос то? Причём тут "алгоритмическое воображение", если тут надо тупо знать регистры конкретного чипа?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт май 02, 2019 11:08:11 
Друг Кота

Карма: 20
Рейтинг сообщений: 228
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6388
Рейтинг сообщения: 0
В коде вы смогли разглядеть смысл только меньшей части, а именно инициализацию таймера. Придирку насчет предупреждения компилятора принимаю, но только, как придирку. Ваш вопрос насчет "причем тут" справедлив, но должен быть задан самому себе. В общем, вы не справились.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт май 02, 2019 12:22:45 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Код:
for(__O int *i = &GPIOC->ODR;; *i = TIM2->CNT & GPIO_ODR_ODR13);
Вот с этой хренью не справился?
Код:
//for(__O int *i = &GPIOC->ODR;; *i = TIM2->CNT & GPIO_ODR_ODR13);
        LDR.N    R0,??main_0      ;; 0x4001100c
        LDR.N    R1,??main_0+0x4  ;; 0x40000024
??main_1:
        LDR      R2,[R1, #+0]
        AND      R2,R2,#0x2000
        STR      R2,[R0, #+0]
        B.N      ??main_1


Ну, да, конечно.
Код:
for(;;) GPIOC->ODR = TIM2->CNT & GPIO_ODR_ODR13;

Найди отличие
Код:
        LDR.N    R0,??main_0      ;; 0x4001100c
        LDR.N    R1,??main_0+0x4  ;; 0x40000024
//for(;;) GPIOC->ODR = TIM2->CNT & GPIO_ODR_ODR13;
??main_1:
        LDR      R2,[R1, #+0]
        AND      R2,R2,#0x2000
        STR      R2,[R0, #+0]
        B.N      ??main_1


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт май 02, 2019 13:01:01 
Друг Кота

Карма: 20
Рейтинг сообщений: 228
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6388
Рейтинг сообщения: 0
Вот с этой хренью не справился?

Вообще ни с чем. Конкретный вопрос был задан в самом начале. Вместо ответа на него, вы блистаете азами владения средой разработки. Из исходного кода смогли получить листинг дизасемблера. Ну тоже наверное достижение.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт май 02, 2019 13:22:54 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 20
Рейтинг сообщений: 648
Зарегистрирован: Пт май 31, 2013 17:14:38
Сообщений: 2081
Откуда: Украина, Винница
Рейтинг сообщения: 0
Эй, котаны! https://www.youtube.com/watch?v=JqDCFxEmPIU
теперь куб прямо в среду встроен :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт май 02, 2019 14:22:07 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Конкретный вопрос был задан в самом начале.
Ну давай почитаем конкретный вопрос.
Цитата:
В качестве средства для развития алгоритмического воображения, предлагаю определить, что делает нижеследующий алгоритм, будучи запущенным на F103 c частотой 72мгц.
И почитаем конкретный ответ
И только если уговорить компилятор, то 1 Гц на выходе.


Вместо ответа на него, вы блистаете азами владения средой разработки. Из исходного кода смогли получить листинг дизасемблера. Ну тоже наверное достижение.
А это чтобы у тебя не было возможности юлить и фантазировать, что там что-то "волшебное" происходит. И что даже эту глупость без ошибки не смог написать. Ну вот объясни, зачем было марать нам мониторы вот этой какашкой
Код:
for(__O int *i = &GPIOC->ODR;; *i = TIM2->CNT & GPIO_ODR_ODR13);
вместо понятного и ошибкоустойчивого
Код:
for(;;) GPIOC->ODR = TIM2->CNT & GPIO_ODR_ODR13;
???


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 8459 ]     ... , , , 274, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y