Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 13:01:51

#define GLUE2(A, B) A##B
#define GLUE(A, B) GLUE2(A, B)
Зачем нужно экранировать?

Добавлено after 2 minutes 37 seconds:
a5021, не учи новичков этому, они и без тебя запутаются. :)))


Досикус хитер, однако.....
При должном знании инструмента (железа, IDE, языка или всего вместе) такие решения сами будут приходить на ум :)

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 14:00:27

Зачем нужно экранировать?

затем. Не смотрите пока на препроцессорную магию, там черт ногу сломит, разберитесь сначала хоть с чем-нибудь окончательно)

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 14:27:35

Зачем нужно экранировать?

затем.


:) Весьма содержательный ответ!!

Добавлено after 3 minutes 28 seconds:
разберитесь сначала хоть с чем-нибудь окончательно)


Да. Сейчас систик добью....

Добавлено after 6 minutes 36 seconds:
Обьясните пожалуйста имеет ли значение то, что коммент записан в скобках?
#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */
... или тут что-то происходит... Это из-за настроек каких-то?

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 14:45:00

Весьма содержательный ответ!

предпочли бы пересказ https://gcc.gnu.org/onlinedocs/cpp/Macros.html ?)
Обьясните пожалуйста имеет ли значение то, что коммент записан в скобках

обычно нет.

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 15:39:47

Я мож неудачную тему выбрал, просто вспомнил и захотелось поделиться. Это действительно не для новичков, но кому-то еще может показаться интересным.

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 15:41:59

хотя и подозревал вас по первости - думалось кто-то троллит кося под нуба.


Меня вновь терзают смутные сомнения ...

a5021, да все нормально...

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 18:53:11

Меня вновь терзают смутные сомнения ...


Нет. Я просто несколько месяцев учил С/С++ и даже С#.
Но, как я уже обьяснил, не могу набирать даже вполне изученные вещи, потому, что не понимаю как оно все работает. Знаю, учил, решаю задачи из учебников, но...
Я по образованию механик. Собирал и простую электронику. Стараюсь понимать не просто "включаешь - работает", а поднаготную процесса. Читаю нетривиальную техническую литературу. Например, чтоб понять как работает p-n переход, мне пришлось изучить зонную теорию твердого тела. Иначе просто не понимал.
Чувствовал, что без ассемблера я так ничего и не пойму. Так я попал сюда.

Добавлено after 1 minute 37 seconds:
Не надо думать, что мне вот настолько делать нечего, чтоб я тут людей тролил. Да еще и тем, что мне помогают. Это был бы не троллинг. Это было бы свинство.

Добавлено after 35 minutes 33 seconds:
Я хочу знать что такое конвейер процессора, не просто знать что это, а знать как он работает.
Хочу знать, почему в Windows не получается присваивать конкретный адрес структуре, когда говорят, что Си может делать с памятью все.
Кому-то интересны шашлыки, кому-то казино. Мне - знания.
И, как я уже говорил, я просто нахватался верхушек. Теперь мне нужны основы.

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 19:07:02

Например, чтоб понять как работает p-n переход, мне пришлось изучить зонную теорию твердого тела
:facepalm:
не обижайтесь, но вам до какого уровня детализации пришлось понять процесс дыхания для того, чтобы им пользоваться?)
почему в Windows не получается присваивать конкретный адрес структуре, когда говорят, что Си может делать с памятью все
чойта не получается? В результате выйдет совершенная херня и так не надо делать примерно никогда, но конкретный адрес назначить таки можно. В кернелспейсе - даже аппаратный, а не из виртуального пространства. А зачем?

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 19:56:07

Например, чтоб понять как работает p-n переход, мне пришлось изучить зонную теорию твердого тела
:facepalm:
не обижайтесь, но вам до какого уровня детализации пришлось понять процесс дыхания для того, чтобы им пользоваться?)

Я не обижаюсь. Я либо отвечаю, если это оскорбление, либо делаю выводы.
Касательно вашего вопроса. Я уже обьяснял, что да, мне достаточно знать, что вода притянется к земле, чтоб вылить ее из бутылки, не зная при этом ни одной из теорий гравитации. Но тем не менее я интересуюсь и этим.
Я же говорил, каждый сходит с ума по-своему. Я не могу сойти с ума? Это кому-то мешает?
чойта не получается? В результате выйдет совершенная херня и так не надо делать примерно никогда, но конкретный адрес назначить таки можно. В кернелспейсе - даже аппаратный, а не из виртуального пространства. А зачем?

А незачем. Мне просто интересно. Это подразумевает знание всей системы.
У меня брат лепит сайты на Ruby и с моих вопросов охреневает!!! Он не понимает на хрена это мне, если деньги и так и идут. Сам не знает, от техники далек,

Теперь по делу. Обьясните пожалуйста, System Control Block. Там по нему структура в Кейле. В общих чертах что это?

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 20:12:25

System Control Block. Там по нему структура в Кейле. В общих чертах что это?

это, как говорится "там", exactly that it says on the tin. Некая область служебных данных некоей системы. Понятие очень общее, даже с минимальным уточнением "там в Кейле". Конкретизируйте вопрос :dont_know:

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 20:17:42

khch, а здесь нечего обижаться , у вас просто феноменальная скорость обучения , абсолютно недоступная некоторым местным гуру а не то что нубам.
Так что на нуба , в понимании местных авторитетов, ау ARV, вы просто не катите.
Респект вам и уважуха...

Да и будет охрененно жЫрный минус адептам восьмибиток.
Последний раз редактировалось dosikus Сб авг 11, 2018 20:25:53, всего редактировалось 1 раз.

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 20:25:01

dosikus, согласен. Были такие мысли с первого сообщения (переиграл ТС).

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 20:27:10

Мурик, ну а вдруг я все же не прав и остались люди старой закалки...
Хотя по статистики последних лет пяти ...

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 20:33:42

kу вас просто феноменальная скорость обучения , абсолютно недоступная некоторым местным гуру


Ничего, поиздевайтесь....
Все равно он сдастся мне :)

Добавлено after 5 minutes:
Скажу больше: у меня с этой штукой секс уже около месяца. Ну как секс...
Больше он меня. Но я ожидаю перелома в отношениях!!!
Так что недолго вам осталось измываться над старым пенсионером... Еше годик :)

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 20:36:45

А System Control Block -- это вот что:

===
Cortex-M3 Peripherals > System control block

4.3. System control block

The System control block (SCB) provides system implementation information, and system control. This includes configuration, control, and reporting of the system exceptions. The system control block registers are:

Table 4.12. Summary of the system control block registers
Address Name Type Required privilege Reset value Description
0xE000E008 ACTLR RW Privileged 0x00000000 Auxiliary Control Register
0xE000ED00 CPUID RO Privileged 0x412FC230 CPUID Base Register
0xE000ED04 ICSR RW Privileged 0x00000000 Interrupt Control and State Register
0xE000ED08 VTOR RW Privileged 0x00000000 Vector Table Offset Register
0xE000ED0C AIRCR RW Privileged 0xFA050000 Application Interrupt and Reset Control Register
0xE000ED10 SCR RW Privileged 0x00000000 System Control Register
0xE000ED14 CCR RW Privileged 0x00000200 Configuration and Control Register
0xE000ED18 SHPR1 RW Privileged 0x00000000 System Handler Priority Register 1
0xE000ED1C SHPR2 RW Privileged 0x00000000 System Handler Priority Register 2
0xE000ED20 SHPR3 RW Privileged 0x00000000 System Handler Priority Register 3
0xE000ED24 SHCRS RW Privileged 0x00000000 System Handler Control and State Register
0xE000ED28 CFSR RW Privileged 0x00000000 Configurable Fault Status Register
0xE000ED28 MMSR[b] RW Privileged 0x00 MemManage Fault Status Register
0xE000ED29 BFSR [b] RW Privileged 0x00 BusFault Status Register
0xE000ED2A UFSR [b] RW Privileged 0x0000 UsageFault Status Register
0xE000ED2C HFSR RW Privileged 0x00000000 HardFault Status Register
0xE000ED34 MMAR RW Privileged Unknown MemManage Fault Address Register
0xE000ED38 BFAR RW Privileged Unknown BusFault Address Register
0xE000ED3C AFSR RW Privileged 0x00000000 Auxiliary Fault Status Register

[a] See the register description for more information.
==
[b] A subregister of the CFSR.

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

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 21:53:19

Мозги пухнут с этого бреда...
Код:
void HAL_Delay(uint32_t Delay)
{
  uint32_t tickstart = HAL_GetTick();
  uint32_t wait = Delay;

  /* Add a freq to guarantee minimum wait */
  if (wait < HAL_MAX_DELAY)
  {
    wait += (uint32_t)(uwTickFreq);
  }

  while ((HAL_GetTick() - tickstart) < wait)
  {
  }
}

Чертов код... Насколько я понимаю, задержка возникает после того, как условие в пустом цикле станет фолс.
Ладно. Но с какой скоростью, простите, частотой этот цикл протекает? С частотой ядра? Но так будет, если он выполняется за один такт. Но так ли это...
вообще ни хрена непонятно..

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 22:12:53

http://we.easyelectronics.ru/STM32/pere ... 2cube.html

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 22:18:28

Там систик настроен на интервал 1мс. Вы при вызове функции заставляете код висеть дожидаясь пока оттикает нужное количество мс. Поскольку такая задержка полностью тормозит основной поток, то на практике они применяются очень редко и с осторожностью. (это если выполнять задержку из основного потока, вызывать такие задержки внутри прерываний, да ещё и высокоприоритетных вообще не рекомендуется)

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 22:26:45

Там систик настроен на интервал 1мс.

подумать надо. Так не устраивает...

Re: Буфер данных Stm32f103c8

Сб авг 11, 2018 22:40:49

Так не устраивает...
главное - оставьте это именно так) пусть не устраивает и дальше, но работает как положено. Системный тик в 1мс - это де-факто стандарт, и отнюдь не только в ARM-ах.
Ответить