【赛昉科技昉·星光RISC-V单板计算机试用体验】点响蜂鸣器

描述

本文来源电子发烧友社区,作者:黄宝亚, 帖子地址:https://bbs.elecfans.com/jishu_2289351_1_1.html




  1. #include
  2. #include   
  3. #include
  4. #include
  5. #include    //define O_WRONLY and O_RDONLY  
  6. //芯片复位引脚: P1_16,用于控制蜂鸣器信号口
  7. #define SYSFS_GPIO_EXPORT           "/sys/class/gpio/export"  
  8. #define SYSFS_GPIO_RST_PIN_VAL      "448"   
  9. #define SYSFS_GPIO_RST_DIR          "/sys/class/gpio/gpio448/direction"
  10. #define SYSFS_GPIO_RST_DIR_VAL      "OUT"  
  11. #define SYSFS_GPIO_RST_VAL          "/sys/class/gpio/gpio448/value"
  12. #define SYSFS_GPIO_RST_VAL_H        "1"
  13. #define SYSFS_GPIO_RST_VAL_L        "0"
  14. int main()
  15. {
  16.     int fd;
  17.          //打开端口/sys/class/gpio# echo 448 > export
  18.          fd = open(SYSFS_GPIO_EXPORT, O_WRONLY);
  19.          if(fd == -1)
  20.          {
  21.                    printf("ERR: Radio hard reset pin open error.n");
  22.                    return EXIT_FAILURE;
  23.          }
  24.          write(fd, SYSFS_GPIO_RST_PIN_VAL ,sizeof(SYSFS_GPIO_RST_PIN_VAL));
  25.          close(fd);
  26.          //设置端口方向/sys/class/gpio/gpio448# echo out > direction
  27.          fd = open(SYSFS_GPIO_RST_DIR, O_WRONLY);
  28.          if(fd == -1)
  29.          {
  30.                    printf("ERR: Radio hard reset pin direction open error.n");
  31.                    return EXIT_FAILURE;
  32.          }
  33.          write(fd, SYSFS_GPIO_RST_DIR_VAL, sizeof(SYSFS_GPIO_RST_DIR_VAL));
  34.          close(fd);
  35.          //输出复位信号: 拉高>100ns
  36.          fd = open(SYSFS_GPIO_RST_VAL, O_RDWR);
  37.          if(fd == -1)
  38.          {
  39.                    printf("ERR: Radio hard reset pin value open error.n");
  40.                    return EXIT_FAILURE;
  41.          }
  42.          while(1)
  43.          {
  44.                    write(fd, SYSFS_GPIO_RST_VAL_H, sizeof(SYSFS_GPIO_RST_VAL_H));//响铃
  45.                    usleep(1000000);//延时
  46.          }
  47.          close(fd);
  48.          printf("INFO: Radio hard reset pin value open error.n");
  49.          return 0;
  50. }
复制代码

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分