查看: 4080|回复: 3

pcDuino上运行GPRS shield(修改)

[复制链接]
  • TA的每日心情
    郁闷
    2013-6-3 09:22
  • 签到天数: 29 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2013-4-11 14:06:17 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 pcduino 于 2013-4-11 14:08 编辑

    前些时候发过pcDuino运行GPRS shield 打电话的例程,那个帖子中主要是图片展示,为了更好的让新手能够也动手操作,现在补充一点介绍以及注意事项哈

    这个例程的主要思路是通过pcDuinoUART端口连接SIM900 GSM/GPRS shield,把现有的arduino 代码在pcDuino上用GNU gcc重新编译后实现pcDuino打电话功能的。

    RTDX2OI$P7PRMRROF`{UM.jpg

    接线图:

    776E8EADF87640D8B396A2D30D3F443A.png

    2[3].jpg

    proto shield上面装 Linker base shield,连上两个 buttons,一个button用来拨打电话另一个挂机,GSM/GPRS shield上的LED是显示网络连接情况的。

    6A851356282141ECBA62A149EBA67566.png

    60F2528AE9C54EB7A33167CBC3B82452.png
    编译成功后拨个电话试试,注意打电话时还是要用到SIM卡和 microphone

    再附上代码:
    1. #include
    2. #include “Serial.h”
    3. #define key1 8
    4. #define key2 9
    5. #define led 10

    6. void port_init()
    7. {
    8. pinMode(key1,INPUT);
    9. pinMode(key2,INPUT);
    10. pinMode(led,OUTPUT);
    11. }

    12. void wait()
    13. {
    14. digitalWrite(led,LOW);
    15. delay(200);
    16. digitalWrite(led,HIGH);
    17. delay(200);
    18. }

    19. void setup()
    20. {
    21. //Initialize serial and wait for port to open:
    22. int rate = 19200;
    23. Serial.begin(rate);
    24. while (!Serial)
    25. {
    26. ; // wait for serial port to connect. Needed for Leonardo only
    27. }
    28. port_init();
    29. delay(500);
    30. }

    31. void loop()
    32. {
    33. int value1 = digitalRead(key1);
    34. int value2 = digitalRead(key2);
    35. wait();
    36. if(value1)
    37. {
    38. delay(10);
    39. value1 = digitalRead(key1);
    40. if(value1)
    41. {
    42. Serial.println(“ATD + +1720XXXXXXX;”);//dial the number
    43. digitalWrite(led,HIGH);
    44. do{
    45. value2 = digitalRead(key2);
    46. if(value2)
    47. {
    48. delay(10);
    49. value2 = digitalRead(key2);
    50. }
    51. }while(!value2);
    52. Serial.println(“ATD + ATH”);
    53. digitalWrite(led,LOW);
    54. delay(500);
    55. while(1);
    56. }
    57. }
    58. }
    复制代码

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-1-28 16:20
  • 签到天数: 980 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2013-4-11 14:38:06 | 显示全部楼层
    不错 挺厉害的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2013-6-3 09:22
  • 签到天数: 29 天

    连续签到: 1 天

    [LV.4]偶尔看看III

     楼主| 发表于 2013-4-11 14:42:12 | 显示全部楼层
    mcp2013 发表于 2013-4-11 14:38
    不错 挺厉害的

    多多支持
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-11-12 21:12
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2013-10-29 19:19:39 | 显示全部楼层
    pcduino 发表于 2013-4-11 14:42
    多多支持

    请问 你是在在什么环境下开发的?
    ubuntu+arduino IDE还是ubuntu+C+arm-linux-gcc?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-21 11:00 , Processed in 0.151063 second(s), 22 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.