共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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| OK1126B-S开发板下函数构建及步进电机驱动控制被打赏¥25元 | |
| 【S32K3XX】LPI2C 参数配置说明被打赏¥20元 | |
| OK1126B-S开发板的脚本编程及应用设计被打赏¥27元 | |
| 5v升压8.4v两节锂电池充电芯片,针对同步和异步的IC测试被打赏¥35元 | |
| 【S32K3XX】S32DS LPI2C 配置失败问题解决被打赏¥22元 | |
| 【S32K3XX】FLASH 的 DID 保护机制被打赏¥19元 | |
| OK1126B-S开发板串口通信及其使用被打赏¥18元 | |
| 【S32K3XX】多核 CORE ID 获取被打赏¥18元 | |
| OK1126B-S开发板的GPIO资源及其使用被打赏¥20元 | |
| 【分享开发笔记,赚取电动螺丝刀】三分钟快速上手驱动屏幕(Arduino IDE环境)被打赏¥23元 | |
我要赚赏金
