Товарищи, нужно на таймере сгенерировать последовательность из известного числа (не больше, не меньше) импульсов с меняющейся в основной программе контроллера частотой. Как это сделать правильно?
или вы можете в прерывание запрограммировать нужное вам количество импульсов. а общую частоту менять за счёт изменения "на лету" предделителя таймера ( вроде так можно делать)
или вы можете в прерывание запрограммировать нужное вам количество импульсов. а общую частоту менять за счёт изменения "на лету" предделителя таймера ( вроде так можно делать)
Вот скорее второй вариант. Хочется получить максимально ровную последовательность без скачков частоты и фазы.
Вот скорее второй вариант. Хочется получить максимально ровную последовательность без скачков частоты и фазы.
ну наверное я бы так делал 1) прерывание: просто код с подсчётом количества и выставлением ножки порта в нужной последовательности , в конце запрет прерывания таймера 2) в main: переинициализировать таймер, запустить прерывание . ну я думаю всё
А какая разница?) Переписываю пример, там так и было. В любом случае масив const, выделен отдельный .h файл сугубо для массива примерно на 20-30к строк кода)
А какая разница?) Переписываю пример, там так и было. В любом случае масив const, выделен отдельный .h файл сугубо для массива примерно на 20-30к строк кода)
Очень большая. Это тут офтоп, но переменные нельзя объявлять в .h файле. Только в .c, а в .h файле писать extern. Иначе будут проблемы.
Всем доброго дня. Кто ни-будь когда ни-будь менял файл линковки .ld. Это нужно для самодельного бутлоудера. например в мануале STMшиков написано так MEMORY { RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 96K FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 256K// ,enkjflth IP_CODE (rx) : ORIGIN = 0x8040000, LENGTH = 256K // программа } а потом вставить .ip_code : { *(.IP_Code*); } > IP_CODE
Вопрос - это так работает??? Прошу прошения за глупые вопросы