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
Hi
My number length is +447832225144 (0-12)(or 13 if counted from 1)
I declared variable num var byte[12] because it can take my number from num[0]="+" to num[12]="4"
I also declared sum var byte[21] because :
sum[0]="A" and so on upto sum[7]="="
and further
sum[8]="+"
sum[9]="4"
sum[10]="4"
sum[11]="7"
sum[12]="8"
sum[13]="3"
sum[14]="2"
sum[15]="2"
sum[16]="2"
sum[17]="5"
sum[18]="1"
sum[19]="4"
sum[20]="4"
sum[21]=13
and to fill sum[8] to sum[20] we need loop 13 times (sum[8] included), and so c=0 to 12
Also while serout it needs to transmit whole sum[0] to sum[21] so c=0 to 21.
Do you still feel this is the wrong way? Thanks
Bookmarks