Re: Коя е минималната скорост на SerialPort на PC?
Това може да е валидно за user mode. При правилната постановка хората постигат добри резултати, например:
http://www.tenasys.com/index.php/intime-timer-interrupt-latencyПроблемите са едни и същи независимо дали е виндоус или линукс, и двете са general purpose OS и искат баене за да стане по-добре. Има опити да се докара добър interrupt response без да се налага разделяне на real time задачите от останалите, но това е концептуално грешно. В линукса мъчат вече толкова години preempt_rt пача да стане хубаво и лесно, но пак са на порядък по-зле от xenomai.
Разните фирми като intervalzero и tenasys отделят техен си микрокърнел за real time задачите и гледат да доставят удобно API и инстументариум (дебъгер) за да вържеш real time домейна с general purpose задачите (графика, диск).
SMI прекъсванията са голяма проблем, но всяко PC или дъно което е мислено за индустриална употреба (kontron, advantech,...) позволява да ги спреш. Да, рискуваш нещо да гръмне (споменатите workaround-и на хардуерни бъгове) и почва да грее. Но то пак е до концепция - няма как да гониш interrupt response и да изключваш ядрата или да ги забавяш дори.
Имаше едно изследване на хендлърите за SMI в BIOS-а - идеята на чипсетите е че биос ще сложи хендлъра си и после има регистър да заключи вектора така че повече да не може да се смени. Та тия дето го проверяваха твърдяха че почти всички биос-и не правят това заключване, дали от недоглеждане или като вратичка за фиксове някакви. И така бяха направили хендлър за SMI прекъсванията в линукс кърнела.
Дали продуктите на фирмите по-горе имат и това, т.е. обработка в тях на SMI не знам - цената беше неприлично висока и не бих се учудил да са успели да го направят.
Абе исках само да кажа че ако си прави драйвер питащия ще може да постигне достатъчна точност да подкара ниския бод рейт, който му трябва. Макар че не виждам защо да не забоде едно просто ардуино да му прехвърля от 115200 на 30 бода.