共2条
1/1 1 跳转至页

问
自己编写了一个定时器捕获的程序,在自制的ARM板上没有调试成功,修改了一下程序(使用定时器1,P0.10,捕获1.0,下降沿捕获,产生中断),在ZLG-EasyARM2200板上调试,程序运行时,短接P0.10和地,也没有出现预期的蜂鸣器响,请周工帮忙看看是不是程序问题,谢谢!
c程序如下:
#include "config.h"
#define BEEPCON 0x00000080 /* P0.7引脚控制B1,低电平蜂鸣 */
void Time1Init(void)
{
T1PR = 0;
T1TC=0;
T1CCR=0x06; //CAP1.0下降沿捕获,产生中断
T1TCR = 0x01; // 启动T1TC
}
uint32 i;
void __irq IRQ_Time1(void)
{
i=T1CR2;
IO0CLR=0x00000080;
T1IR = 0x10; // 清除中断标志
VICVectAddr = 0x00; // 通知VIC中断处理结束
}
int main(void)
{
PINSEL0 = 0x00200000; // 捕获
IO0DIR=0x00000080;
IO0SET=0x00000080;
Time1Init();
VICIntSelect = 0x00; // 所有中断通道设置为IRQ中断
VICVectCntl0 = 0x25; // 定时器1中断通道分配最高优先级
VICVectAddr0 = (uint32)IRQ_Time1; // 设置中断服务程序地址向量
VICIntEnable = 0x00000020; // 使能定时器1中断
while(1)
{
}
} 答 1: 谢绝板儿砖有没有开中断?我的意思是清零I位 答 2: 有啊清过了,
;设置系统模式堆栈
MSR CPSR_c, #0x5f
LDR SP, =StackUsr
MOV PC, R0 答 3: 怎么没有人指点一下呢?怎么没有人指点一下呢?
c程序如下:
#include "config.h"
#define BEEPCON 0x00000080 /* P0.7引脚控制B1,低电平蜂鸣 */
void Time1Init(void)
{
T1PR = 0;
T1TC=0;
T1CCR=0x06; //CAP1.0下降沿捕获,产生中断
T1TCR = 0x01; // 启动T1TC
}
uint32 i;
void __irq IRQ_Time1(void)
{
i=T1CR2;
IO0CLR=0x00000080;
T1IR = 0x10; // 清除中断标志
VICVectAddr = 0x00; // 通知VIC中断处理结束
}
int main(void)
{
PINSEL0 = 0x00200000; // 捕获
IO0DIR=0x00000080;
IO0SET=0x00000080;
Time1Init();
VICIntSelect = 0x00; // 所有中断通道设置为IRQ中断
VICVectCntl0 = 0x25; // 定时器1中断通道分配最高优先级
VICVectAddr0 = (uint32)IRQ_Time1; // 设置中断服务程序地址向量
VICIntEnable = 0x00000020; // 使能定时器1中断
while(1)
{
}
} 答 1: 谢绝板儿砖有没有开中断?我的意思是清零I位 答 2: 有啊清过了,
;设置系统模式堆栈
MSR CPSR_c, #0x5f
LDR SP, =StackUsr
MOV PC, R0 答 3: 怎么没有人指点一下呢?怎么没有人指点一下呢?
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
C语言函数宏的三种封装方式被打赏50分 | |
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769LVGL优化显示被打赏26分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769驱动ST7789以及显示优化被打赏36分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 PAL模拟I2C驱动适配被打赏23分 | |
我想要一部加热台+电源硬件设计规范被打赏16分 | |
我想要一部加热台+LED背光驱动芯片RT9293知识被打赏18分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 ADC 模块配置使用被打赏24分 |