所以,我正在使用AT命令和Matlab来返回来电显示。它可以工作,但我必须手动要求它。我每次打电话时都会自动返回来电显示。
这是我在响铃之前写的:
>> 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)