完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
LGT8F328P 开发板arduino环境搭建:
1. 在官网上下载 Arduino硬件支持包 Arduino开发平台相关 LGT8FX8D/P系列Arduino硬件支持包(v3.6c) 解压,把压缩包中。。Larduino_HSP_latestLarduino_HSP_v3.6chardware 目录下的LGT 目录复制到 Arduino hardware “D:Program Files (x86)Arduinohardware” 目录下。 2. 参考如下博客,把芯片和下载器连接好 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, INPUT_PULLUP); } cli(); //关闭中断 PCICR |= (1 《《 PCIE0) | (1 《《 PCIE1); // 设置 PCIE0 以启用 PCMSK0 来测量状态变化并产生中断 侦测 PB for (i = 0; i 《 IRPinCount; i++) { PCMSK0 |= (1 《《 IRPinSequence); // 设置 引脚 来测量状态变化并产生中断, PB PCMSK1 |= (1 《《 IRPinSequence); // 设置 引脚 来测量状态变化并产生中断, 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)) { } } |
|
|
|
只有小组成员才能发言,加入小组>>
2586 浏览 0 评论
781浏览 1评论
547浏览 0评论
291浏览 0评论
491浏览 0评论
213浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-11 09:47 , Processed in 1.132360 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号