Thai microtron community

Electronic Knowledge Base => Microcontoller & Electronics => Topic started by: bp on February 16, 2011, 02:46:42 AM



Title: มีปัญหาเรื่อง SIM300 ติดต่อกับ PIC16F628A ครับ
Post by: bp on February 16, 2011, 02:46:42 AM
ผมเขียนโปรแกรมติดต่อกับSim300ครับ
เงื่อนไขคือ
ปิกจะส่งคำสั่งAT commandมาให้Sim300เพื่อนให้โทรออกครับ
ผมติดปัญหาตรงที่
 ผมทดลองสั่งงานSim300จาก Hyperterminalได้ปกติครับ
แต่พอให้PICสั่งมันกลับไม่มีการโทรออก
เงียบไปเฉยเลยครับ
ด้านล่างเป็นcodeที่ผมเขียนใส่ในpicครับ
ท่านใดเคยลองลิงค์sim300กับpicช่วยแนะนำด้วยครับ
ผมใช้บอดเรท ที่9600
flowcontrol แบบ xON xOFFแล้วครับ

#include <16F628A.h>
#fuses XT,NOWDT,NOLVP,NOPROTECT
#use delay(clock=4MHZ)
#use rs232(baud=9600,parity=N,xmit=PIN_B2,rcv=PIN_B1)

#define on           1
#define off          0

#define PRESS        0
#define NOPRESS      1
#define SENSER       input(pin_B0)
#define Timer()      delay_ms(500)
#define OUTPUT(x)    output_bit(pin_B4,x)


void main(void)
{
set_tris_b(0x0F);
OUTPUT(off);
int i;
//char j = 0x0D;

while(true)
{
if(SENSER == press)
{
     if(i == 10)
   {
               if(SENSER == press)
           {
              printf("ATD0853640074;\r\n"); // ATCOMMAND FOR CALLNG.
             
              OUTPUT(on);
              Timer();
              OUTPUT(off);
 
              while(SENSER == press);
           }
   }
     else
   {
   i++;
   }
}
else
{
i = 0;
}

}     


Title: Re: มีปัญหาเรื่อง SIM300 ติดต่อกับ PIC16F628A ครับ
Post by: gundam on February 16, 2011, 08:33:14 AM
คุณให้ sim300cz ของใครครับ เช่น ETT,SILA หรือซื้อเฉพาะโมดูลมาต่อเอง เพราะทั้งสองค่ายที่ว่าจะมี CD ตัวอย่างมาให้แล้ว

เมื่อต่อกับ PC จะต้องผ่าน MAX232 ส่วนต่อกับ PIC สามารถต่อตรงได้
เมื่อเริ่มเปิดเครื่อง sim300cz รอจนมันขึ้นคำว่า Call Ready หรือยัง

ลองส่ง printf("AT\r\n");  ดูว่ามันตอบ OK หรือยัง
ในโปรแกรมลองตัดส่วนที่ไม่จำเป็นออกก่อน



Title: Re: มีปัญหาเรื่อง SIM300 ติดต่อกับ PIC16F628A ครับ
Post by: bp on February 16, 2011, 11:44:30 AM
ผมใช้ของETTครับ
ผมลิ้งค์ SIM300 กับ pic ผ่าน max232 ครับไม่ได้ต่อตรงครับ
ตอนทดสอบกับ Hyperterminal ก็
call ready แล้วครับ


Title: Re: มีปัญหาเรื่อง SIM300 ติดต่อกับ PIC16F628A ครับ
Post by: bp on February 16, 2011, 11:56:32 AM
ผมไม่มีCDตัวอย่างครับมันเป็นบอร์ดของอาจารย์ที่ปรึกษาครับเขาทำซีดีหายครับ
ผมพยามหาโหลดอยู่ครับยังไม่เจอครับ


Title: Re: มีปัญหาเรื่อง SIM300 ติดต่อกับ PIC16F628A ครับ
Post by: mcuprojects on February 16, 2011, 12:16:01 PM
Code:
#include <16F628A.h>
#fuses XT,NOWDT,NOLVP,NOPROTECT
#use delay(clock=4MHZ)
#use rs232(baud=9600,parity=N,xmit=PIN_B2,rcv=PIN_B1)

void main (void)
{
     printf("ATD0853640074;\r");  // \r หมายถึง <Enter>
while(true);
}


Title: Re: มีปัญหาเรื่อง SIM300 ติดต่อกับ PIC16F628A ครับ
Post by: bp on February 18, 2011, 01:16:24 PM
ยังไม่โทรออกอยู่ดีครับ
หรือเป็นเพราะว่าผมลิ้งค์ Sim300 ผ่าน mxa232 ครับ
รบกวนอีกอย่างครับในซีดีคู่มือนั่นมืออะไรบ้างครับ
หาไม่เจอจริงๆครับ
รบกวนด้วยครับ


Title: Re: มีปัญหาเรื่อง SIM300 ติดต่อกับ PIC16F628A ครับ
Post by: MicroX on February 18, 2011, 02:06:48 PM
- ประการแรก คุณต่อกับ Hyperterminal สามารถโทรออกแล้วใช่ไหมครับ แสดงว่าทุกอย่างพร้อม
- การต่อกับ MCU กับบอร์ด Sim300 โดยต่อผ่าน PIC<->MAX232-------MAX232<->Sim300  สามารถทำได้ครับ
หรือต่อกันโดยตรง PIC<->Sim300 ก็สามารถทำได้ครับ
- ให้คุณลองต่อกับ PC โดยใช้ Hyperterminal แล้วรอจนมันขึ้นคำว่า Call Ready แล้วจึงย้ายสายมาเสียบกับ PIC
โดยจ่ายไฟให้ PIC ก่อน เสียบสาย RS 232 แล้วกด reset

ใน main เขียน code ดังนี้


        delay_ms(200);
        printf("\r");
        delay_ms(500);
        printf("ATD0853640074;\r");
        delay_ms(1000);
        while(1);







Title: Re: มีปัญหาเรื่อง SIM300 ติดต่อกับ PIC16F628A ครับ
Post by: MicroX on February 18, 2011, 02:17:59 PM
เพิ่มเติมครับลอง search ใน CCS forum ซิครับ

http://www.ccsinfo.com/forum/viewforum.php?f=1
KEYWORD ATD


Title: Re: มีปัญหาเรื่อง SIM300 ติดต่อกับ PIC16F628A ครับ
Post by: bp on February 21, 2011, 02:33:06 AM
ได้แล้วครับ
ต่อตามรูปถึงออกครับ
ผมลืมสลับสายกับ จั๊มขา 1 เข้ากับขา 4,6 ครับ


Title: Re: มีปัญหาเรื่อง SIM300 ติดต่อกับ PIC16F628A ครับ
Post by: wordman on May 06, 2011, 10:03:59 AM
ขอความเห็นคุณ bp ผมต่อกับบอร์ดทดลอง NX-877 plus ยังไม่ได้ครับ
#include <16F877.h>
#include <stdio.h>
#define TxD         PIN_C6
#define RxD         PIN_C7
#define CLOCK_SP    20000000


#fuses HS, NOLVP, NOWDT, NOBROWNOUT, NOPROTECT
#use delay (clock=CLOCK_SP)
#use rs232 (baud=9600, xmit=TxD,rcv=RxD)
void main(void)
{
delay_ms(200);
        printf("\r");
        delay_ms(500);
        printf("ATD0883789770;\r");
        delay_ms(1000);
        while(true);


}


Title: Re: มีปัญหาเรื่อง SIM300 ติดต่อกับ PIC16F628A ครับ
Post by: wordman on May 06, 2011, 10:20:22 AM
ขอความเห็นคุณ bp ผมต่อกับบอร์ดทดลอง NX-877 plus ยังไม่ได้ครับ
#include <16F877.h>
#include <stdio.h>
#define TxD         PIN_C6
#define RxD         PIN_C7
#define CLOCK_SP    20000000


#fuses HS, NOLVP, NOWDT, NOBROWNOUT, NOPROTECT
#use delay (clock=CLOCK_SP)
#use rs232 (baud=9600, xmit=TxD,rcv=RxD)
void main(void)
{
delay_ms(200);
        printf("\r");
        delay_ms(500);
        printf("ATD0883789770;\r");
        delay_ms(1000);
        while(true);


}
สายที่ใช้เป็นตัวผู้ทั้งสองด้าน ผมต่อตามรูปทั้งสองด้านแล้วก็ยังไม่ได้
แต่ถ้าเอาสายที่มีขายทั่วไปต่อเข้า PC ใช้ Hyper ดูก็ออกตามปกติ แต่ใช้สายที่ทำเอง ต่อกับ SIM300 นิ่งเลยครับ ขอความช่วยเหลือทุกๆท่านครับผม