Pages: [1]   Go Down
Print
Author Topic: มีปัญหาเรื่อง SIM300 ติดต่อกับ PIC16F628A ครับ  (Read 15273 times)
0 Members and 2 Guests are viewing this topic.
bp
Jr. Member
**
Offline Offline

Posts: 25


« 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;
}

}     
Logged
gundam
Global Moderator
Hero Member
*****
Offline Offline

Posts: 292



« Reply #1 on: February 16, 2011, 08:33:14 AM »

คุณให้ sim300cz ของใครครับ เช่น ETT,SILA หรือซื้อเฉพาะโมดูลมาต่อเอง เพราะทั้งสองค่ายที่ว่าจะมี CD ตัวอย่างมาให้แล้ว

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

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

Logged
bp
Jr. Member
**
Offline Offline

Posts: 25


« Reply #2 on: February 16, 2011, 11:44:30 AM »

ผมใช้ของETTครับ
ผมลิ้งค์ SIM300 กับ pic ผ่าน max232 ครับไม่ได้ต่อตรงครับ
ตอนทดสอบกับ Hyperterminal ก็
call ready แล้วครับ
Logged
bp
Jr. Member
**
Offline Offline

Posts: 25


« Reply #3 on: February 16, 2011, 11:56:32 AM »

ผมไม่มีCDตัวอย่างครับมันเป็นบอร์ดของอาจารย์ที่ปรึกษาครับเขาทำซีดีหายครับ
ผมพยามหาโหลดอยู่ครับยังไม่เจอครับ
Logged
mcuprojects
Jr. Member
**
Offline Offline

Posts: 18


Email
« Reply #4 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);
}
Logged
bp
Jr. Member
**
Offline Offline

Posts: 25


« Reply #5 on: February 18, 2011, 01:16:24 PM »

ยังไม่โทรออกอยู่ดีครับ
หรือเป็นเพราะว่าผมลิ้งค์ Sim300 ผ่าน mxa232 ครับ
รบกวนอีกอย่างครับในซีดีคู่มือนั่นมืออะไรบ้างครับ
หาไม่เจอจริงๆครับ
รบกวนด้วยครับ
Logged
MicroX
Global Moderator
Full Member
*****
Offline Offline

Posts: 103


Senior


Email
« Reply #6 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);





« Last Edit: February 18, 2011, 03:51:05 PM by microx » Logged
MicroX
Global Moderator
Full Member
*****
Offline Offline

Posts: 103


Senior


Email
« Reply #7 on: February 18, 2011, 02:17:59 PM »

เพิ่มเติมครับลอง search ใน CCS forum ซิครับ

http://www.ccsinfo.com/forum/viewforum.php?f=1
KEYWORD ATD
Logged
bp
Jr. Member
**
Offline Offline

Posts: 25


« Reply #8 on: February 21, 2011, 02:33:06 AM »

ได้แล้วครับ
ต่อตามรูปถึงออกครับ
ผมลืมสลับสายกับ จั๊มขา 1 เข้ากับขา 4,6 ครับ

Logged
wordman
มาใหม่
*
Offline Offline

Posts: 2


Email
« Reply #9 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);


}
Logged
wordman
มาใหม่
*
Offline Offline

Posts: 2


Email
« Reply #10 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 นิ่งเลยครับ ขอความช่วยเหลือทุกๆท่านครับผม
Logged
Pages: [1]   Go Up
Print
 
Jump to: