LGT8F328P 开发板arduino环境搭建:

1. 在官网上下载 Arduino硬件支持包

http://www.lgtic.com/downloads/

Arduino开发平台相关

  • LGT8FX8D/P系列Arduino硬件支持包(v3.6c)

解压,把压缩包中..\Larduino_HSP_latest\Larduino_HSP_v3.6c\hardware\ 目录下的LGT 目录复制到  Arduino hardware "D:\Program Files (x86)\Arduino\hardware\" 目录下。

2. 参考如下博客,把芯片和下载器连接好

https://blog.csdn.net/XIUYING_MO/article/details/103942255

3. 打开Arduino,选择开发板

4. 编程

4.1 中断程序

uint8_t IRPinSequence[] = {5, 4, 1, 0, 5, 4, 0 };
uint8_t IRPin[] = {C5, C4, C1, C0, B5, B4, B0 };

void iniIR() {
  uint8_t i;
 
  for (i = 0; i < IRPinCount; i++) {
    pinMode(IRPin[i], INPUT_PULLUP);
  }
  cli();    //关闭中断

PCICR |= (1 << PCIE0) | (1 << PCIE1);   // 设置 PCIE0 以启用 PCMSK0 来测量状态变化并产生中断 侦测 PB
  for (i = 0; i < IRPinCount; i++) {
    PCMSK0 |= (1 << IRPinSequence[i]);   // 设置 引脚 来测量状态变化并产生中断, PB
    PCMSK1 |= (1 << IRPinSequence[i]);  // 设置 引脚 来测量状态变化并产生中断, PB

}

sei();                     // turn on interrupts

}

ISR (PCINT0_vect)// PB脚可以触发 PCINT0中断
{
  uint8_t changedbits;//设立一个无符号整数来记录寄存器的变化

changedbits = PINB ^ PortB_history;
  PortB_history = PINB;

uint8_t i = 0;

if (changedbits & (1 << PINB0))
  {
    if (PINB & (1 << PINB0)) {  //上升沿
      i = 6;
      IRPinCallBack(i);
    }
  }

if (changedbits & (1 << PINB1))
  {

}

if (changedbits & (1 << PINB2))
  {

}

if (changedbits & (1 << PINB3))
  {

}
  if (changedbits & (1 << PINB4))
  {
    if (PINB &  (1 << PINB4)) {  //上升沿
      i = 5;
      IRPinCallBack(i);
    }
  }
  if (changedbits & (1 << PINB5))
  {
    if (PINB &  (1 << PINB5)) {  //上升沿
      i = 4;
      IRPinCallBack(i);
    }
  }
}

ISR (PCINT1_vect)// PC脚可以触发 PCINT1中断
{
  uint8_t changedbits;//设立一个无符号整数来记录寄存器的变化
  uint8_t i = 0;

changedbits = PINC ^ PortC_history;
  PortC_history = PINC;

if (changedbits & (1 << PINC0))
  {
    if (PINC &  (1 << PINC0)) {  //上升沿
      i = 3;
      IRPinCallBack(i);
    }
  }

if (changedbits & (1 << PINC1))
  {
    if (PINC &  (1 << PINC1)) {  //上升沿
      i = 2;
      IRPinCallBack(i);
    }
  }

if (changedbits & (1 << PINC2))
  {

}

if (changedbits & (1 << PINC3))
  {

}

if (changedbits & (1 << PINC4))
  {
    if (PINC & (1 << PINC4)) {  //上升沿
      i = 1;
      IRPinCallBack(i);
    }
  }

if (changedbits & (1 << PINC5))
  {
    if (PINC &  (1 << PINC0)) {  //上升沿
      i = 0;
      IRPinCallBack(i);
    }
  }
}

ISR (PCINT2_vect)// PD脚可以触发 PCINT1中断?
{
  uint8_t changedbits;//设立一个无符号整数来记录寄存器的变化

changedbits = PIND ^ PortD_history;
  PortD_history = PIND;

if (changedbits & (1 << PIND0))
  {

}

if (changedbits & (1 << PIND1))
  {

}

if (changedbits & (1 << PIND2))
  {
    //    if ((~PIND) &  (1 << PIND2)) {  //下降沿
    //      USCallBack(1);
    //    }
  }

if (changedbits & (1 << PIND3))
  {
    //    if ((~PIND) &  (1 << PIND3)) {  //下降沿
    //      USCallBack(2);
    //    }
  }

if (changedbits & (1 << PIND4))
  {

}

if (changedbits & (1 << PIND5))
  {

}
}

LGT8F328P 开发板arduino环境搭建及中断程序相关推荐

  1. 64位Windows7下TQ2440开发板的环境搭建

    一年前就买了TQ开发板TQ2440,但是按照开发手册一直玩不了,当时并没有找出原因,后来发现根本问题是驱动不对,软件一般都分32位和64位,驱动也一样. 环境搭建一般就是安装软件,这不需要废话了,可以 ...

  2. Air780E开发板CSDK环境搭建与helloworld

    一.环境搭建 硬件准备:Air780E最小板.type-c数据线 软件准备: Git :用于获取LuatOS源码,小伙伴可自行百度安装与配置方法 Xmake:用于完成代码编译,下载与安装步骤参考官方链 ...

  3. 主机、虚拟机、开发板网络环境搭建小结备忘

    首先得声明,本文章属转载,个人觉得写得灰常好,图文并茂,详细,深刻,不仅让本来网络没学好的本人对网络这一块有了更深刻的理解,而且解决了我纠结了几天的 开发板 虚拟机  win7 之间的通信问题得到了解 ...

  4. 【iMX6ULL】触觉 imx6ull开发板交叉编译环境搭建

      开发IMX6ULL需要有一个安装了交叉编译器的linux操作系统的开发环境,用于编译开发板的uboot.kernel.文件系统和应用软件.下面以触觉智能imx6ull开发板为例. 1.开发环境说明 ...

  5. mico3165嵌入式开发板IAR环境搭建以及Demo运行

    最近跟着老师做毕设,题目是有关于 嵌入式开发的系统安全测试,首先得搭一个集成的开发环境,研究了几天,终于基本把大致的东西弄好了,这里写下来以供经验所需. 开发所用的板子是mico3165,搭载了mic ...

  6. FEDORA UT4418开发板ANDROID环境搭建

    按照友坚的文档,解压了源码之后,执行build.sh.在编译UBOOT以及LINUX KERNEL时,很顺利.编译ANDROID时,出现错误,提示JAVA的版本不是1.6版本.我系统里安装的是OPEN ...

  7. Wio RP2040无线WiFi迷你开发板Arduino IDE开发环境安装与使用基础

    Arduino IDE作为一种开源硬件开发软件工具,目前拥有很好的应用生态和众多的用户,本文介绍Wio RP2040无线WiFi迷你开发板Arduino IDE环境安装与设置,并给出采用Arduino ...

  8. Zedboard开发板的linux搭建

    1.简介 zynq是xilinx推出的一款集成arm核以及fpga可编程逻辑器件的soc芯片,使得它不仅拥有 ASIC 在能耗.性能和兼容性方面的优势,而且具有FPGA 硬件可编程性的优点.zynq主 ...

  9. SSM搭建二手市场交易平台(一):开发流程与环境搭建

    关于博主 努力与运动兼备-~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步! 微信公众号: 啃饼思录 QQ: 2810706745(i思录) 写在前面 嘿,小伙伴们好久不见.最近难 ...

最新文章

  1. python实现洗牌算法_洗牌算法及 random 中 shuffle 方法和 sample 方法浅析
  2. Nature:中国正在上演AI人才争夺战,中国公司在与Google竞争
  3. lua打开是二进制代码_物联网的构建:使用Lua高级语言进行嵌入式开发
  4. 项目案例分享四:DC升级后Sysvol停止复制,日志报13508
  5. JavaScript高级day01-AM【WebStrom安装、数据类型分类及判断、数据-内存-变量、引用变量赋值、对象的组成】
  6. MMS发送的无线网络连接协议分析
  7. Memcached的安装与使用
  8. 牛客小白月赛9 A签到(乘法逆元)
  9. python基于水色图像的水质评价_零基础学习Python的学习路线及教程
  10. TMGM外汇平台官网最全测评(2022年版)
  11. Window 10 python 3.7安装 PyV8
  12. 简析选购电磁流量计的四大考虑因素
  13. VS Code Css格式化插件
  14. 高中计算机教室标语,高中教室布置标语
  15. Ubuntu16.04安装bugzilla
  16. LED电子时钟,时间显示屏,网络子母钟系统方案(京准电子)
  17. premiere cc2015 导入mov视频没有声音的解决方案
  18. 2345蓝月传奇服务器维护,2345蓝月传奇4月29日合服公告
  19. java中isolate时间_Flutter 92: 图解 Dart 单线程实现异步处理之 Isolate (一)
  20. 基于线性表的图书信息管理系统

热门文章

  1. mysql学习记录_Mysql 学习记录
  2. Python基础重点复习(2)
  3. 计算机德育成绩怎么算,计算机系德育成绩考核评定实施细则
  4. Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
  5. 互联网对证券业务的影响 发展证券电子商务将是券商的必然选择
  6. 【笔记】2022.5.11 网页前端
  7. 关于linux下的库文件
  8. js浏览器后退前进 禁止事件
  9. python两个乘号什么意思_python两个乘号_关于Python中*号的用法
  10. 月亮网摘(2006.8.14)