LGT8F328P 开发板arduino环境搭建及中断程序
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环境搭建及中断程序相关推荐
- 64位Windows7下TQ2440开发板的环境搭建
一年前就买了TQ开发板TQ2440,但是按照开发手册一直玩不了,当时并没有找出原因,后来发现根本问题是驱动不对,软件一般都分32位和64位,驱动也一样. 环境搭建一般就是安装软件,这不需要废话了,可以 ...
- Air780E开发板CSDK环境搭建与helloworld
一.环境搭建 硬件准备:Air780E最小板.type-c数据线 软件准备: Git :用于获取LuatOS源码,小伙伴可自行百度安装与配置方法 Xmake:用于完成代码编译,下载与安装步骤参考官方链 ...
- 主机、虚拟机、开发板网络环境搭建小结备忘
首先得声明,本文章属转载,个人觉得写得灰常好,图文并茂,详细,深刻,不仅让本来网络没学好的本人对网络这一块有了更深刻的理解,而且解决了我纠结了几天的 开发板 虚拟机 win7 之间的通信问题得到了解 ...
- 【iMX6ULL】触觉 imx6ull开发板交叉编译环境搭建
开发IMX6ULL需要有一个安装了交叉编译器的linux操作系统的开发环境,用于编译开发板的uboot.kernel.文件系统和应用软件.下面以触觉智能imx6ull开发板为例. 1.开发环境说明 ...
- mico3165嵌入式开发板IAR环境搭建以及Demo运行
最近跟着老师做毕设,题目是有关于 嵌入式开发的系统安全测试,首先得搭一个集成的开发环境,研究了几天,终于基本把大致的东西弄好了,这里写下来以供经验所需. 开发所用的板子是mico3165,搭载了mic ...
- FEDORA UT4418开发板ANDROID环境搭建
按照友坚的文档,解压了源码之后,执行build.sh.在编译UBOOT以及LINUX KERNEL时,很顺利.编译ANDROID时,出现错误,提示JAVA的版本不是1.6版本.我系统里安装的是OPEN ...
- Wio RP2040无线WiFi迷你开发板Arduino IDE开发环境安装与使用基础
Arduino IDE作为一种开源硬件开发软件工具,目前拥有很好的应用生态和众多的用户,本文介绍Wio RP2040无线WiFi迷你开发板Arduino IDE环境安装与设置,并给出采用Arduino ...
- Zedboard开发板的linux搭建
1.简介 zynq是xilinx推出的一款集成arm核以及fpga可编程逻辑器件的soc芯片,使得它不仅拥有 ASIC 在能耗.性能和兼容性方面的优势,而且具有FPGA 硬件可编程性的优点.zynq主 ...
- SSM搭建二手市场交易平台(一):开发流程与环境搭建
关于博主 努力与运动兼备-~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步! 微信公众号: 啃饼思录 QQ: 2810706745(i思录) 写在前面 嘿,小伙伴们好久不见.最近难 ...
最新文章
- python实现洗牌算法_洗牌算法及 random 中 shuffle 方法和 sample 方法浅析
- Nature:中国正在上演AI人才争夺战,中国公司在与Google竞争
- lua打开是二进制代码_物联网的构建:使用Lua高级语言进行嵌入式开发
- 项目案例分享四:DC升级后Sysvol停止复制,日志报13508
- JavaScript高级day01-AM【WebStrom安装、数据类型分类及判断、数据-内存-变量、引用变量赋值、对象的组成】
- MMS发送的无线网络连接协议分析
- Memcached的安装与使用
- 牛客小白月赛9 A签到(乘法逆元)
- python基于水色图像的水质评价_零基础学习Python的学习路线及教程
- TMGM外汇平台官网最全测评(2022年版)
- Window 10 python 3.7安装 PyV8
- 简析选购电磁流量计的四大考虑因素
- VS Code Css格式化插件
- 高中计算机教室标语,高中教室布置标语
- Ubuntu16.04安装bugzilla
- LED电子时钟,时间显示屏,网络子母钟系统方案(京准电子)
- premiere cc2015 导入mov视频没有声音的解决方案
- 2345蓝月传奇服务器维护,2345蓝月传奇4月29日合服公告
- java中isolate时间_Flutter 92: 图解 Dart 单线程实现异步处理之 Isolate (一)
- 基于线性表的图书信息管理系统
热门文章
- mysql学习记录_Mysql 学习记录
- Python基础重点复习(2)
- 计算机德育成绩怎么算,计算机系德育成绩考核评定实施细则
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
- 互联网对证券业务的影响 发展证券电子商务将是券商的必然选择
- 【笔记】2022.5.11 网页前端
- 关于linux下的库文件
- js浏览器后退前进 禁止事件
- python两个乘号什么意思_python两个乘号_关于Python中*号的用法
- 月亮网摘(2006.8.14)