Например TDA7294

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



Текущее время: Сб июл 20, 2019 22:34:42

Часовой пояс: UTC + 3 часа [ Летнее время ]


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



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

Карма: 5
Рейтинг сообщений: 91
Зарегистрирован: Сб дек 22, 2012 09:17:42
Сообщений: 489
Откуда: Караганда, Казахстан
Рейтинг сообщения: 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 15:29:05, всего редактировалось 1 раз.

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

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


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

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

_________________
Инженер R@D

Жизнь начинаешь понимать тогда когда кончается здоровье


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

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

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

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

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


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


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

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

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

Карма: 16
Рейтинг сообщений: 214
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 6245
Рейтинг сообщения: 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, драйверы изучайте и пишите хорошо. Книжки почитайте.

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


Вернуться наверх
 
Плавкие предохранители LittelFuse. Грамотный подбор

Выбор оптимального плавкого предохранителя требует учета многих параметров. Для упрощения выбора оптимального предохранителя и автоматизации расчетов Littelfuse предлагает онлайн-утилиту. Подробнее>>
В сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср май 01, 2019 09:05:52 
Вымогатель припоя
Аватар пользователя

Карма: 10
Рейтинг сообщений: 66
Зарегистрирован: Вт май 01, 2018 20:44:47
Сообщений: 622
Рейтинг сообщения: 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, но работать ещё есть над чем :)


Вернуться наверх
 
Немногим дороже дискретного решения: новое поколение импульсных стабилизаторов Mornsun

Практически во всех радиоэлектронных устройствах массово применяются линейные понижающие стабилизаторы напряжения типа КРЕН в корпусе TO220 (другое обозначение – 78хх) и им подобные для формирования основного напряжения питания схемы.
Данные стабилизаторы позволяют без особых затрат получить нужное для каскада или узла схемы напряжение, если устройство питается от внешнего источника с более высоким напряжением. Для этого требуются… Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср май 01, 2019 09:45:41 
Вымогатель припоя

Зарегистрирован: Вт ноя 02, 2010 18:46:37
Сообщений: 557
Рейтинг сообщения: 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 09:57:49 
Вымогатель припоя
Аватар пользователя

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


Вернуться наверх
 


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

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


Вернуться наверх
 
Prist.ru предлагает скидку всем частным лицам при покупке приборов АКИП, GW Instek, APPA (кроме осциллографов АКИП-4115/1А, GDS-71102)!

Интересные новинки уже на складе:

Осциллограф АКИП-4126Е

Многоканальные источники питания серии GPP

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

Карма: 16
Рейтинг сообщений: 214
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 6245
Рейтинг сообщения: 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.


Вернуться наверх
 
Купить электронные компоненты в LCSC

Отправка со склада через 4 часа после заказа!
900 000 пользователей, 3000+ заказов в день!
Зарегистрируйтесь сегодня и получите скидку 8 долларов на первый заказ!
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср май 01, 2019 14:37:45 
Опытный кот

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

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


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

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


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

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

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


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

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

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

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


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

Карма: 16
Рейтинг сообщений: 214
Зарегистрирован: Пт сен 13, 2013 14:11:31
Сообщений: 6245
Рейтинг сообщения: 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 09:22:12 
Вымогатель припоя
Аватар пользователя

Карма: 10
Рейтинг сообщений: 66
Зарегистрирован: Вт май 01, 2018 20:44:47
Сообщений: 622
Рейтинг сообщения: 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 12:08:11 
Друг Кота

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


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

Карма: 10
Рейтинг сообщений: 66
Зарегистрирован: Вт май 01, 2018 20:44:47
Сообщений: 622
Рейтинг сообщения: 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 14:01:01 
Друг Кота

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

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


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

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


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

Карма: 10
Рейтинг сообщений: 66
Зарегистрирован: Вт май 01, 2018 20:44:47
Сообщений: 622
Рейтинг сообщения: 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;
???


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

Часовой пояс: UTC + 3 часа [ Летнее время ]


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

Сейчас этот форум просматривают: gordei и гости: 3


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

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


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