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> 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 นิ่งเลยครับ ขอความช่วยเหลือทุกๆท่านครับผม |