Ik zit met een nogal vreemd probleem.
Ik moet via een UART, seriele poort dus, mijn telefoon aansturen.
Mijn telefoon is een Siemens M35i.
De datasheet van siemens is heel simpel;
stuur een commando, bijvoorbeeld AT+CGNI, afgesloten door
een \r (carriage return), en de telefoon antwoord.
Leuk bedacht, maar het werkt niet zomaar.
Als ik mijn telefoon aan de seriele poort hang en er met
SimpleTerm Gold (seriele poort tooltje) die string heenros
(op de goede bitrate he
38400) dan antwoord de telefoon niet.
Hij heeft dus blijkbaar iets niet goed ontvangen.
Met een nulmodem kabel naar een andere pc ook met simpleterm
kom ik erachter dat de string zeer netjes wordt verstuurd...
OK dacht ik; ik schrijf zelf ff een delphi applicatietje die met een component
datzelfde commando naar de seriele poort stuur.
Toen ging het ineens wel goed!!
Maar, door nu weer met een nulmodem kabel en een linux programmaatje
naar de output van mijn delphiproggie te kijken, zag ik dat mijn programma
daar het volgende van maakt:
een "a\r" versturen levert aan de andere kant van de kabel de volgende ascii-waardes op: 6, 102, -128.
Hoe kan dat???
en vraag 2; waarom reageerd mijn telefoon wel op zulke blaat (waarvan ik er maar niet kan achterkomen waar het allemaal voor staat)
en reageerd hij niet op letterlijk de goede string sturen?...
PS. om het verhaal nog raarder te maken;
ik heb een jaar geleden ofzo een C proggie gemaakt waarmee ik mijn telefoon een
nummer kon laten bellen; dat ging toen blijkbaar wel goed.
Maar hoe ik dat toen deed; geen idee!
Het enige was ik nog weet is dat ik wel gewoon een array met "ATD0611111111"
heb verstuurd...
Ik moet via een UART, seriele poort dus, mijn telefoon aansturen.
Mijn telefoon is een Siemens M35i.
De datasheet van siemens is heel simpel;
stuur een commando, bijvoorbeeld AT+CGNI, afgesloten door
een \r (carriage return), en de telefoon antwoord.
Leuk bedacht, maar het werkt niet zomaar.
Als ik mijn telefoon aan de seriele poort hang en er met
SimpleTerm Gold (seriele poort tooltje) die string heenros
(op de goede bitrate he
Hij heeft dus blijkbaar iets niet goed ontvangen.
Met een nulmodem kabel naar een andere pc ook met simpleterm
kom ik erachter dat de string zeer netjes wordt verstuurd...
OK dacht ik; ik schrijf zelf ff een delphi applicatietje die met een component
datzelfde commando naar de seriele poort stuur.
Toen ging het ineens wel goed!!
Maar, door nu weer met een nulmodem kabel en een linux programmaatje
naar de output van mijn delphiproggie te kijken, zag ik dat mijn programma
daar het volgende van maakt:
een "a\r" versturen levert aan de andere kant van de kabel de volgende ascii-waardes op: 6, 102, -128.
Hoe kan dat???
en vraag 2; waarom reageerd mijn telefoon wel op zulke blaat (waarvan ik er maar niet kan achterkomen waar het allemaal voor staat)
en reageerd hij niet op letterlijk de goede string sturen?...
PS. om het verhaal nog raarder te maken;
ik heb een jaar geleden ofzo een C proggie gemaakt waarmee ik mijn telefoon een
nummer kon laten bellen; dat ging toen blijkbaar wel goed.
Maar hoe ik dat toen deed; geen idee!
Het enige was ik nog weet is dat ik wel gewoon een array met "ATD0611111111"
heb verstuurd...
[ Voor 4% gewijzigd door Zynth op 22-04-2004 16:26 ]