2. Как-то все тормозно... по-моему. Грубо говоря, 19200 бит/сек = 1920 байт/сек = 240 пакетов/сек (в пакете 8 байт). Если хотим управлять с периодом 50 Гц (как обычной сервой), то по такому протоколу можно обслужить максимум четыре сервы... Это как-то кисло.
ID сервы можно записать в EEPROM. Не очень понятно, зачем сервой по UART рулить 50 раз в секунду? Ну пару раз в секунду сказать куда двигать, и она сама двинется. 240 пакетов/2 хватит на 120 серв. Если 4 раза в секунду, то на 60 серв.
я про 16МГц и скорость повыше. Откалибровать его в 6451200 Гц, или даже в 8294400 Гц, если уж так хочется точно попасть в скорость (что само по себе не обязательно - на 6.4МГц ошибка в скорости меньше процента для 115200).
Давайте попробую написать вам софтовый уарт полудуплексный на 115200 на 8 мегагерцах. Не гарантирую, но шанс ненулевой Ну, может быть ограничения некоторые будут. Вы на чем пишете? GCC, наверное? Версия какая?
Последний раз редактировалось Michael_K 28 июл 2011, 09:55, всего редактировалось 1 раз.