Use this code:It is not working. Can anyone correct me if I am wrong or advise me an alternative Please.
Where:Code:serout2 tx,baud,["AT+CMGS=",STR num\12,13]
num[0]="+"
num[1]="4"
num[2]="4"
....................
Al.
Use this code:It is not working. Can anyone correct me if I am wrong or advise me an alternative Please.
Where:Code:serout2 tx,baud,["AT+CMGS=",STR num\12,13]
num[0]="+"
num[1]="4"
num[2]="4"
....................
Al.
Last edited by aratti; - 7th October 2009 at 07:12.
All progress began with an idea
You can tray with SEROUT which seems working better.I tried the above way but sorry its not working like this.
Al.Code:Num var Byte [21] A0 var Byte Num[0] = "A" Num[1] = "T" Num[2] = "+" Num[3] = "C" Num[4] = "M" Num[5] = "G" Num[6] = "S" Num[7] = "=" Num[8] = "+" Num[20]= 13 ' Last array variable MUST be 13 ' The above are the constant value 'From Num[9] to Num[19] load your number Num[9[] = "4" Num[10] = "4" Num[11] = ?? ' etc. etc. ' dial and send the sms using the for next loop For A0 = 0 to 20 serout Tx,T9600,[Num[A0]] ' Change baud rate as per your need. Next A0
Last edited by aratti; - 7th October 2009 at 11:24.
All progress began with an idea
Thanks for the input, but to try this can you advise me how to load my number from num[9] to num[19] as I am only aware of loading the number using the following command which starts loading it from num[0] to num[12]:
Serin2 rx,baud,5000,main,[WAIT("REC UNREAD"),SKIP 3, STR num\12, skip 28, STR sms\8]
How can I modify the above syntax to start loading from 9 to 19 & NOT 0 to 12?
Thanks
Use two arrays, one for serin2 and one for seroutHow can I modify the above syntax to start loading from 9 to 19 & NOT 0 to 12?
For A0=0 to 11
SecondArray[A0+9]=FirstArray[A0]
next A0
Al.
All progress began with an idea
Hi Aratti
Here is a snapshot of what I have done till now:
num var byte[12]
sum var byte[21]
baud con 188
sum[0] = "A"
sum[1] = "T"
sum[2] = "+"
sum[3] = "C"
sum[4] = "M"
sum[5] = "G"
sum[6] = "S"
sum[7] = "="
sum[21]= 13
Serin2 rx,baud,5000,main,[WAIT("REC UNREAD"),SKIP 3, STR num\12, skip 28, STR sms\8]
checkms:
If sms[0]="d" and sms[1]="e" and sms[2]="a" and sms[3]="c" and sms[4]="t" then
For c=0 to 12
sum[c+8]=num[c]
next c
For c=0 to 21
serout tx,T2400,[sum[c]]
next c
Serin2 rx,baud,5000,checkms,[WAIT(">")]
This arrangement is not working. Can you advise me of whats wrong. Many thanks for your time in advance
In your code you use the byte variable "C" but I don't see it declared.
Did you include "MODEDEFS.BAS" in your code?
How long is your phone number? You have declared an array (num) of 12 bytes but the for/next loop is trying to use 13 bytes!Code:num var byte[12] For c=0 to 12 ' you will need 13 bytes here sum[c+8]=num[c] next c
Also the array sum is declared for 21 and you are attempting to use 22 (you have sum[21]= 13) This is an array of 22 bytes!
Remember that you have to count also the zero.
So adjust both the arrays as per the lenght of your phone number ( if 13 digits then you need 13 in the declaration and 13 in the string numerical. If on the contrary the phone lenght is 12 digits then modify the for/next loop to For c=0 to 11 and put byte array sum var byte[22]
Al.
Last edited by aratti; - 7th October 2009 at 23:18.
All progress began with an idea
Bookmarks