9bits por software PC, funciona?

Nunca usei 9 bits, para endereço, gerado pelo PC, através do bit de paridade, por softwre em runtime.
Uso sempre hardware para tal. Penso que para algo lento deve funcionar bem, pois a precisão da temporização no PC não é garantida.
Já ví programas em C para tal e um mais simples que seria algo como setar paridade com Mark/Space (Mark/Space só no Windows no Linux é possível simulando).
Considerar serial assyncrona (Windows).
Exemplo:
1-Setar em runtime 8 bits + paridade ( mark/space) usar space.
2-Enviar o byte de endereço.
3-Voltar para 8 bits , sem paridade.
4-Enviar demais bytes.
lí que a setagem, paridade com mark / space não funciona sempre para todos os bytes!!! (não sei, estranho então porque paridade mark/space?).
Outra forma:
O objetivo aqui é forçar sempre um bit alto no 9 bit de paridade:
1-Verifica paridade do byte de endereço a ser enviado.
2- Conforme a paridade, escolher ao setar, em run time, paridade par ou impar, a fim de resultar 1L (bit alto na paridade).
3-Setar para 8 bits + paridade (par ou impar) conforme resultado do ítem (2).
4- Enviar byte de endereço.
5- Setar para 8bits sem paridade
6- Transmitir demais bytes de dados.
Aparentemente esse método tem que funcionar.
Enquanto aguardo as críticas, vou tentar fazer rodar algo por aquí.
Grato.
Uso sempre hardware para tal. Penso que para algo lento deve funcionar bem, pois a precisão da temporização no PC não é garantida.
Já ví programas em C para tal e um mais simples que seria algo como setar paridade com Mark/Space (Mark/Space só no Windows no Linux é possível simulando).
Considerar serial assyncrona (Windows).
Exemplo:
1-Setar em runtime 8 bits + paridade ( mark/space) usar space.
2-Enviar o byte de endereço.
3-Voltar para 8 bits , sem paridade.
4-Enviar demais bytes.
lí que a setagem, paridade com mark / space não funciona sempre para todos os bytes!!! (não sei, estranho então porque paridade mark/space?).
Outra forma:
O objetivo aqui é forçar sempre um bit alto no 9 bit de paridade:
1-Verifica paridade do byte de endereço a ser enviado.
2- Conforme a paridade, escolher ao setar, em run time, paridade par ou impar, a fim de resultar 1L (bit alto na paridade).
3-Setar para 8 bits + paridade (par ou impar) conforme resultado do ítem (2).
4- Enviar byte de endereço.
5- Setar para 8bits sem paridade
6- Transmitir demais bytes de dados.
Aparentemente esse método tem que funcionar.
Enquanto aguardo as críticas, vou tentar fazer rodar algo por aquí.
Grato.