所以,我使用 AT 命令和 Matlab 来返回呼叫者 ID。它确实有效,但我必须手动要求它。我打电话时自动返回来电显示是什么。
这是我在打电话之前写的:
>> s = serial('COM8');
>> fopen(s)
当我的电话响起时,我输入这个:
>> fwrite(s, [65 84 43 67 82 67 61 49 13])
然后我要求返回值(来电者电话号码):
>> s
Serial Port Object : Serial-COM8
Communication Settings
Port: COM8
BaudRate: 9600
Terminator: 'LF'
Communication State
Status: open
RecordStatus: off
Read/Write State
TransferStatus: idle
BytesAvailable: 47
ValuesReceived: 0
ValuesSent: 18
>> fread(s, 47)
它返回给我 47 个这样的 ASCII 数字(请注意,我已经删除了大部分返回的代码):
ans =
65
84
43
67
82
67
61
49
13
转换为以下内容(出于安全原因更改了数字):
+CRING:VOICE +CLIP: "+359888888888",145AT+CRC=1OK
我想要发生的是当电话响起时立即向计算机发送输出
>> fwrite(s, [65 84 43 67 82 67 61 49 13])
>> fread(s, 47)