ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
2 мая
1371581 Топик полностью
Dingo (14.11.2023 09:25, просмотров: 98) ответил Eddy_Em на Микросекунды не получится, тут и с целыми-то секундами проблема: частота ведь всего 48МГц! Поэтому и планирую слать в пакете счетчик секунд и значение CNT, а ПК, зная ARR, сам дробную часть посчитает. МК это не умеет: не то, что флоатов, а даже деления нет!
Как хотите. Но 1 мксек = 48 циклов CNT, => 500 нсек=24 => 250 =24, 125 нсек=12 циклов. Дальше на 2 не делится. Даже если так- какая там у вас требуемая точность? ARR не константа же (для подстройки скорости времени), поэтому либо её пересылать, чтобы комп считал, либо на месте. 

Можно делить быстрей до заданной точности: Есть половина ARR? - прибавили пол секунды, из значения вычли, значение 1/2сек уменьшили в двое; Есть 1/4? - ...

За 26 таких операций выясним. Если только для одного контроллера пишите - соглашусь с вашим способом, если хотя бы маленькая вероятность есть - рекомендую хотя бы оценить.

Вот ещё один бедуин солидарен со мной https://caxapa.ru/1371548.html