Comments 13
Никогда ранее я не видел ЦАП-а непосредственно в самом микроконтроллере.
Он является частью ядра Cortex-M3, если мне не изменяет память.
Нет, в само ядро Cortex он не входит, он может выступать как отдельный периферийный модуль МК на базе данного ядра.
А так, ЦАП внутри микроконтроллера уже давно не новшество.
А так, ЦАП внутри микроконтроллера уже давно не новшество.
Он является частью ядра Cortex-M3, если мне не изменяет память.
Вы меня заставили немного усомниться в своих знаниях. Интереса ради пробежался по описаниям всех достоинств Cortex-M3. Нигде не нашел упоминания о том, что DAC — часть ядра. SysTick — да. Везде об этом пишут. Но про DAC не нашел. Да и лично мне не попадался STM32 с DAC (Из тех, что из F100 и F103). Например в самом часто используемом мной STM32F103C8 — нет DAC (сейчас еще раз пересмотрел в описании). А он на Cortex-m3. Делаю вывод — он не часть ядра.
У STM32F103RC есть ЦАП, например.
Значит мой косяк. Привык, что они есть везде :)
Строго говоря, systick не входит в процессор cm3. В него входит собственно вычислительное ядро, nvic, набор всяких шин (включая bus matrix), куча вещей предназначенных для дебага (swd/jtag, etm, itm, tpiu и куча других страшных аббревиатур), mpu, wake-up interrupt controller. Даже без учета того, что swd/jtag, tpiu, wic и etm с точки зрения arm — уже не в процессоре.
К ядерной периферии относятся nvic, system timer (systick), mpu и scb (всякие регистры для конфигурации ядра, исключений и т. п.).
А всё, что висит на AHB и APB — уже периферия и определяется производителем контроллера.
К ядерной периферии относятся nvic, system timer (systick), mpu и scb (всякие регистры для конфигурации ядра, исключений и т. п.).
А всё, что висит на AHB и APB — уже периферия и определяется производителем контроллера.
В самом ядре Cortex есть периферия, но ее очень мало (кроме SysTick'a я навскидку ничего и не вспомню).
Все остальное меняется от контроллера к контроллеру; у Миландра вся периферия собственной разработки.
Все остальное меняется от контроллера к контроллеру; у Миландра вся периферия собственной разработки.
Простите мня, глупость конечно, но никогда не понимал людей, которые делают массивы типа 100 элементов или 20 элементов.
Почему бы не сделать 128 элементов или 32 элемента?
Как-то так:
DAC->DAC2_DATA = C_4[Loop];
Loop = (Loop+1) & 0x3f;
Выигрыша в производительности по нынешним времена может и нет, зато в таком коде букв меньше
Почему бы не сделать 128 элементов или 32 элемента?
Как-то так:
DAC->DAC2_DATA = C_4[Loop];
Loop = (Loop+1) & 0x3f;
Выигрыша в производительности по нынешним времена может и нет, зато в таком коде букв меньше
Ага, и код гораздо понятнее! А еще, можно совершенно спокойно написать Loop = (Loop +1) % 100, если уж так хочется покороче.
Битовую маску десятичным числом? Какой-то фиговый сарказм получился.
Sign up to leave a comment.
Переходим с STM32 на российский микроконтроллер К1986ВЕ92QI. Генерируем и воспроизводим звук. Часть первая