On 11 nov, 12:33, DEMAINE Benoit-Pierre
> Si tu avais regard ce qu'est le bit banging
J'ai implémenté en ASM du bitbang sur des
uP qui n'avaient pas du tout de port série,
à une époque où tu salissais encore tes couches.
> tu n'aurais pas pu objecter que c'est incompatible
> avec le RS232 pour la raison que tu invoque.
Les vitesses des deux ports sont imposées, différentes et fixes :
il est hors de question d'agir en amont pour changer ces vitesses.
De plus la gestion de SCL & SDA de l' I2C ne peut se faire à partir
des seuls *signaux* TX & RX du RS232 sans ajouter un chip
d'interfaçage.
> Puisque tu dis que tu n'es pas sur un PC, c'est encore plus simple que je
> pensais: tu n'as donc aucun probl me de scheduling. Et tu as donc la
> maitrise totale des signaux qui sortent de ton port.
Non, absolument pas. Ce ne sont pas les données du problème
que j'ai posé, mais tu t'obstines à répondre à côté.
Les cartes sont comme elles sont et il est hors de question
d'y changer quoi que ce soit. La question posée est
d'interfacer des *signaux* I2C avec des *signaux* RS232,
pas de changer les ports, ni les vitesses, ni le code.
> Tu d configure le RS232, et tu ... fais du bit banging l'ancienne.
Alors autant dropper le port RS232 pour utiliser
directement un port I2C et j'aurais directement
deux ports I2C donc plus aucun problème d'adaptation !
Tu es têtu, à vouloir changer les données du problème
posé pour y apporter une solution qui n'y répond pas.
> Sur un PC (snip)
Déja dit : pas de PC ici.
> Sur un "pas PC", tu repasse ton port en TTL,
> et l'I2C se fait en bit banging les yeux ferm s.
Déja dit : pas d'action en amont.
Un port I2C, un port RS232, et l'interface au milieu.
Je ne vois pas ce qu'il y a de si difficile à comprendre.
> La m thode simple utilise 3 pins, ou, deux pins si tu en as une en
> bi-directive. Je ne sais pas si c'est possible de le faire avec seulement
> 2 pins unidirectives (une dans chaque sens).
> Quand au d bit, ce n'est pas un probl me. Quand tu aura crit tes unit s
> correctement, tu aura remarqu que tes d bits sont identiques:
> - ton I2C est 100kbps
> - un RS232 CLASSIQUE tourne 9.6kBps, ou B ne se lit pas Byte, mais BAUD.
Je n'ai pas parlé de byte : ca c'est toi qui en parles.
Quand aux unités, le Baud mesure le nombre de *symboles*
par seconde et dans mon cas le symbole est un bit ;
alors 9,6 kbps ca veut dire 9600 bits par seconde,
c'est comme ca ... sauf pour toi, apparament.
> En comptant le bit de latence, a fait 96 kbps.
9,6 ca veut dire 9,6 et non pas 96.
Si pour toi une vitesse de 9,6 k correspond à 96 k
alors 1 = 10 et il y a de quoi se poser des questions.
> Parce que si ton RS232 tourne 9.6kbps,
> soit 960 BAUD, ta place, je m'inqui terais,
Oh que oui, je suis inquiet : mais pas pour moi :o)
> car les modems 1.4 k BAUD sont plus vieux que moi ...
> alors un PC qui ne pourrait faire que 960 BAUDs ...
Déja dit : pas de PC ici.
> => 100 / 96 ... moins de 4% entre les deux.
100 / 9,6 ca fait 1041 % ...
C'est plus une paille, c'est une poutre.
> Et de toute fa on, la question ne se pose pas, pour deux raisons:
> - un vrai bon RS232 monte 54kB (soit 500 kbps)
Une fois pour toutes : les vitesses sont fixes et inchangeables.
Tu changes les données du problème, donc ta réponse ne s'y rapporte
pas.
> - le bit banging, si tu avais cherch , ne se
> fait pas avec les lignes Tx Rx, mais RTS CTS.
Sur un uC on bitbang via des ports I/O *quelconques*
il n'est donc même plus question de dénominations
telles que CTS/RTS. Encore une fois tu parles de PC
alors qu'il n'en est pas question ici. C'est lourd.
> Et ton d bit peut d passer les 500kbps de tr s loin:
> tu es limit par la vitesse du CPU, pas celle du hard.
Les vitesses sont fixées et inchangeables, c'est une des données
du problème : si tu tiens absolument à faire l'impasse là-dessus,
tu ne répond pas la question posée, alors inutile de t'obstiner.
> Donc, le bit banging est envisageable.
Non, et encore moins pour la gestion des signaux SCL & SDA de l' I2C.
Ca aussi je l'ai déja répété, mais tu sembles sourd et aveugle.
> Des milliers de gens l'ont fait avant moi
> (je ne suis pas assez malin pour r -inventer la roue: je ne peux
> qu'am liorer e travail des autres, je suis incapable de cr er une bonne id e).
Prétendre apporter une solution à un problème posé en changeant
les données dudit problème, ca s'appelle répondre à côté.
Et vu que tu fais la même chose sur d'autres threads de fse,
quelque chose me dit que tu ne le fais même pas exprès.
> DEMAINE Benoit-Pierre (aka DoubleHP)
> " not only blind but deaf "
Si tu tiens vraiment à raconter que tu as fait du bitbang
via CTS/RTS sur un PC sous Linux, ouvre un nouveau thread
mais n'essaie pas dérisoirement d'imposer cela à tout prix
dans un thread où c'est hors-sujet avec la question posée.